     {
         super.enabled = value;
         invalidateSkinState();
-        
-        // We update the mouseShield that prevents clicks to propagate to
-        // children in our updateDisplayList.
-        invalidateDisplayList();
+
+        // If enabled, reset the mouseChildren, mouseEnabled to the previously
+        // set explicit value, otherwise disable mouse interaction.
+        super.mouseChildren = value ? _explicitMouseChildren : false;
+        super.mouseEnabled  = value ? _explicitMouseEnabled  : false; 
     }
 
     //----------------------------------

{
    
import flash.display.DisplayObject;
import spark.components.supportClasses.SkinnableComponent;
import mx.core.ContainerGlobals;
import mx.core.IFlexDisplayObject;
import mx.managers.IFocusManagerContainer;
import spark.utils.MouseShieldUtil;


/**
 *  Normal State

    {
        return enabled ? "normal" : "disabled";
    }
}
}