 
         if (focusManager)
         {
-            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_ACTIVATE, 
-                _textContainerManager.activateHandler, false, 0, true)
-            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_DEACTIVATE, 
-                _textContainerManager.deactivateHandler, false, 0, true)
+            addActivateHandlers();
         }
         else
         {
             // if no focusmanager yet, add capture phase to detect when it
             // gets added
-            systemManager.getSandboxRoot().addEventListener(FlexEvent.ADD_FOCUS_MANAGER, 
+            if (systemManager)
+                systemManager.getSandboxRoot().addEventListener(FlexEvent.ADD_FOCUS_MANAGER, 
                     addFocusManagerHandler, true, 0, true)
+            else
+                // no systemManager yet?  Check again when added to stage
+                addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
         }
 
     }


    /**
     *  @private
     *  Called when a FocusManager is added to an IFocusManagerContainer.
     *  We need to check that it belongs
     *  to us before listening to it.

        {
            systemManager.getSandboxRoot().removeEventListener(FlexEvent.ADD_FOCUS_MANAGER, 
                    addFocusManagerHandler, true)
            addActivateHandlers();
        }
    }

