         // The revalidateWhenComplete flag will be true in this case and will
         // force another validation to commit that change.  If the flag is
         // false, we can end the validation process.
-        if (revalidateWhenComplete)
-        {
-            revalidateWhenComplete = false;
-            viewChangeRequested = true;
+        if (delayedNavigationActions.length > 0)
+        {
+            executeDelayedActions();
             commitNavigatorAction();
         }
         else

    
    /**
     *  @private
     *  This flag is set to true if a navigation operation, e.g., pushView()
     *  is called during a transition.  If so, another validation pass is
     *  run after the transition is complete.
     *  
     *  @langversion 3.0
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    private var revalidateWhenComplete:Boolean = false;
    
    /**
     *  @private
     */
    private var showingActionBar:Boolean;
    

     */
    protected function commitNavigatorAction():void
    {
        if (!isActive)
        {
            viewChangeRequested = false;
            return;
        }
        
        // Private event
        if (hasEventListener("viewChangeStart"))
            dispatchEvent(new Event("viewChangeStart"));
        
        // If a ui control is animating, force it to end
        if (actionBarVisibilityEffect)
