AudioProcessor.getCurrentProgram() returns 0

I have Native Instruments Massive loaded and if I select a different preset (manually, using the plugin editor) and then call AudioProcessor.getCurrentProgram() I can, by stepping through, see that the AUPreset NAME correctly contains the selected preset name but the presetNumber ALWAYS contains 0.

Anyone know how to fix this?

Did anyone ever solve this? All the plugins I’ve tried return -1 for any selected preset.

Alternatively is there any other way for a host to get the name of the current preset?