         showFocusIndicator = true;
 		focusChanged = false;
 
+        var haveBrowserFocusComponent:Boolean = (browserFocusComponent != null);
+        if (browserFocusComponent)
+            clearBrowserFocusComponent();
+        
         // see if we got here from a tab.  We also need to check for 
         // keyCode == 0 because in IE sometimes the first time you tab 
         // in to the flash player, you get keyCode == 0 instead of TAB.

        if ((event.keyCode == Keyboard.TAB || (browserMode && event.keyCode == 0)) 
                && !event.isDefaultPrevented())
        {
            if (browserFocusComponent)
            {
                if (browserFocusComponent.tabIndex == LARGE_TAB_INDEX)
                    browserFocusComponent.tabIndex = -1;

                browserFocusComponent = null;

                if (hasEventListener("browserFocusComponent"))
	    			dispatchEvent(new FocusEvent("browserFocusComponent", false, false, InteractiveObject(event.target)));
				

        return Object(form).toString() + ".focusManager";
    }
    
    /**
     *  @private
     * 
     *  Clear the browser focus component and undo any tab index we may have set.
     */
    private function clearBrowserFocusComponent():void
    {
        if (browserFocusComponent)
        {
            if (browserFocusComponent.tabIndex == LARGE_TAB_INDEX)
                browserFocusComponent.tabIndex = -1;
            
            browserFocusComponent = null;
        }
    }
    
    //--------------------------------------------------------------------------
    //
    //  Event handlers
