             
             activeTransition = transitionsEnabled ? pendingViewTransition : null;
             
-            // Force a validation of the navigator so that all validation events are
-            // dispatched to the developer before preparing the view transition.
-            validateNow();
-            
-            // Prepare the view transition
-            prepareViewTransition();
+            // TODO (chiedozi): Consider capturingStartValues now and updating actionBar
+            // to remove forced validation in prepareViewTransition()
+            
+            // Prepare the view transition after the navigator has validated the new View
+            addEventListener(FlexEvent.UPDATE_COMPLETE, prepareViewTransition);
         }
         
         pendingViewTransition = null;

            currentView = currentViewDescriptor.instance;
            currentView.setActive(false);
            
            // Need to validateNow() to make sure our old screen is currently 
            // up to date before starting the transition and possibly storing a bitmap 
            // for the transition
            currentView.validateNow();
        }
        

     *  instance of the new view is added to the display list.  It initializes
     *  the underlying ViewDescriptor object and prepares the transition.
     * 
     *  Called after the UPDATE_COMPLETE event is received on the navigator
     *  after the pendingView is added to the display list.  
     *  See commitNavigatorAction.
     * 
     *  @langversion 3.0
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    private function prepareViewTransition(event:Event):void
    {
        removeEventListener(FlexEvent.UPDATE_COMPLETE, prepareViewTransition);
        
        var currentView:View;
        var pendingView:View;
        
