diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index 8b30eb4b11..167efb6ed4 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -312,10 +312,16 @@ public: ComponentResult RestoreState (CFPropertyListRef inData) { - ComponentResult err = JuceAUBaseClass::RestoreState (inData); - - if (err != noErr) - return err; + { + // Remove the data entry from the state to prevent the superclass loading the parameters + CFMutableDictionaryRef copyWithoutData = CFDictionaryCreateMutableCopy (nullptr, 0, (CFDictionaryRef) inData); + CFDictionaryRemoveValue (copyWithoutData, CFSTR (kAUPresetDataKey)); + ComponentResult err = JuceAUBaseClass::RestoreState (copyWithoutData); + CFRelease (copyWithoutData); + + if (err != noErr) + return err; + } if (juceFilter != nullptr) {