         {
             // 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;

            actionBar.cacheAsBitmap = true;
        }
        
        if (startView)
        {
            // Store the position of the startView
            navigatorProps.startViewX = startView.x;

        else
        {

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