             setCallout(createDynamicPartInstance("dropDown") as Callout);
         
         if (callout)
+        {
+            // close the callout if the CalloutButton is removed
+            addEventListener(Event.REMOVED_FROM_STAGE, button_removedFromStage);
+            
             callout.open(this, false);
+        }
     }
     
     /**

        // destroyed by calloutDestructionPolicy
        if (callout)
        {
            // TODO (jasonsj): close params?
            
            // Dispatch the close event after the callout's PopUpEvent.CLOSE fires
            callout.close();
        }


package spark.components
{
import flash.events.Event;

import mx.core.ClassFactory;
import mx.core.IFactory;
import mx.core.mx_internal;
import mx.utils.BitFlagUtil;

import spark.components.supportClasses.DropDownController;
import spark.core.ContainerDestructionPolicy;
import spark.events.DropDownEvent;
