      *  @private
      */    
     private var tabBarVisibilityChanged:Boolean = false;
+    
+    /**
+     * @private
+     */
+    mx_internal var selectedNavigatorChangingView:Boolean = false;
     
     //--------------------------------------------------------------------------
     //

    {
        super.commitProperties();
        
        // FIXME (chiedozi): Should cancel any queued view changes of the active view navigator.
        if (selectedIndexChanged || dataProviderChanged)
        {
            var navigator:ViewNavigatorBase;

                navigator = navigators[_selectedIndex];
                
                navigator.addEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
                navigator.addEventListener("viewChangeStart", navigator_viewChangeStartHandler);
                navigator.addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
                navigator.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
                
                navigator.setActive(true);
                navigator.visible = true;
                navigator.includeInLayout = true;
                
                if (navigator.activeView)
                {
