         {
             // Animate the tabBar if its overlayControls or visible property is toggled.
             animateTabBar = startView.overlayControls != endView.overlayControls ||
-                            startView.tabBarVisible != endView.tabBarVisible;
+                            startView.tabBarVisible != endView.tabBarVisible ||
+                            mode == SlideViewTransitionMode.COVER;
         }
         
         // Snapshot the entire navigator or actionBar depending on the mode.
-        if (mode == SlideViewTransitionMode.UNCOVER)
+        if (mode != SlideViewTransitionMode.PUSH)
         {
             var oldVisibility:Boolean = endView.visible;
             endView.visible = false;

        // transition mode (cover vs. uncover for instance).
        if (mode == SlideViewTransitionMode.COVER)
        {
            // Add the transition group on top of the contentGroup.  It's important that its placed on
            // top so that alpha characteristics of the cached ActionBar are shown properly
            var childIndex:uint = targetNavigator.skin.getChildIndex(targetNavigator.contentGroup);
            addComponentToContainerAt(transitionGroup, targetNavigator.skin, childIndex + 1);
        }
        else
        {

        else
        {

            if (startView && mode == SlideViewTransitionMode.COVER)
            {
                startView.visible = startViewProps.visible;
            }
            
            if (tabBar)
            {
                tabBar.includeInLayout = navigatorProps.tabBarIncludeInLayout;
