     public function set navigationContent(value:Array):void
     {
         _navigationContent = value;
-        navigationContentInvalidated = true;
-        
-        invalidateProperties();
+        
+        if (!activeView || (activeView && !activeView.navigationContent))
+        {
+            navigationContentInvalidated = true;
+            invalidateProperties();
+        }
     }
     
     //----------------------------------

            
            actionBar.visible = true;
        }
        
        if (tabBarVisibilityInvalidated)
        {
            if (animateTabBarUp)
            {
                if (tabBarProps.start.visible)
                    tabBarProps.end.y = -tabBar.height;
                else
                    tabBarProps.start.y = -tabBar.height;
            }
            else
            {
                if (tabBarProps.start.visible)
                    tabBarProps.end.y = this.height;
                else
                    tabBarProps.start.y = this.height;
            }
            
            tabBar.visible = true;
        }
    }
    
    /**
     *  @private
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5

                stage.focus = this;
        }
        
        // At this point, currentViewData points to the new view
        if (currentViewData)
        {
            currentView = currentViewData.instance;
            
            if (currentView)
            {
                currentView.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, 
                                                view_propertyChangeHandler);
                currentView.active = true;
            }
        }
        
        // Restore mouse children properties before revalidation occurs.  This
        // needs to occur before a possible revalidation occurs so that the
        // saved mouseChildren and mouseEnabled flags aren't overwritten.
        if (parentNavigator)
        {
            parentNavigator.mouseChildren = explicitMouseChildren;
            parentNavigator.mouseEnabled = explicitMouseEnabled;
        }
        else
        {
            mouseChildren = explicitMouseChildren;
            mouseEnabled = explicitMouseEnabled;
        }
        
        if (revalidateWhenComplete)
        {
            revalidateWhenComplete = false;
            viewChangeRequested = true;
            commitViewChange();
        }
        else
        {
