             // trace("tabHandled by " + this);
             setFocusToNextObject(event);
 
-			if (focusChanged)
+            // if we changed focus or if we're the main app
+            // eat the event
+			if (focusChanged || sm == sm.getTopLevelRoot())
             	event.preventDefault();
         }
     }

    /**
     *  @private
     */
    private function creationCompleteHandler(event:FlexEvent):void
    {
        var o:DisplayObject = DisplayObject(form);

            if (!o.visible) 
                return false;
            o = o.parent;

            // if no parent, then not on display list
            if (!o)
                return false;
        }
        return true;
    }
