 			return;
 
         if (!isTopLevel())
-            dispatchEvent(new FlexEvent(FlexEvent.NEW_CHILD_APPLICATION));
+            SystemManagerGlobals.topLevelSystemManagers[0].
+                // dispatch a FocusEvent so we can pass ourselves along
+                dispatchEvent(new FocusEvent(FlexEvent.NEW_CHILD_APPLICATION, false, false, this));
 
 		// Generated code will bring in EmbeddedFontRegistry
 		Singleton.registerClass("mx.core::IEmbeddedFontRegistry",

    private function stageEventHandler(event:Event):void
    {
        if (event.target is Stage)
            mouseCatcher.dispatchEvent(event);
    }


import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.FocusEvent;
import flash.events.KeyboardEvent;
import flash.events.EventDispatcher;
import flash.events.EventPhase;
