      */
     public function destroyToolTip(toolTip:IToolTip):void
     {
-		if (dispatchEvent(new Event("removeChild", false, true)))
+        var e:DynamicEvent = new DynamicEvent("removeChild", false, true);
+        e.sm = toolTip.systemManager;
+        e.toolTip = toolTip;
+		if (dispatchEvent(e))
 		{
 			// Remove it.
 			var sm:ISystemManager = toolTip.systemManager as ISystemManager;

import mx.core.mx_internal;
import mx.effects.IAbstractEffect;
import mx.effects.EffectManager;
import mx.events.EffectEvent;
import mx.events.ToolTipEvent;
import mx.managers.IToolTipManagerClient;

                                          FlexGlobals.topLevelApplication.systemManager as ISystemManager;

		
        var event:DynamicEvent = new DynamicEvent("addChild", false, true);
        event.sm = sm;
        event.toolTip = toolTip;
		if (dispatchEvent(event))
		{
		    sm.topLevelSystemManager.toolTipChildren.addChild(toolTip as DisplayObject);
		}
