         if (!viewNavigatorPopUp|| !viewNavigatorPopUp.isOpen)
             return;
         
+        // Since view transitions can temporarily alter the display tree, we
+        // need to end all view transitions so that the display tree is restored
+        // to a correct state.
+        ViewTransitionBase.endTransitions();
+        
         viewNavigatorPopUp.addEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
         viewNavigatorPopUp.close(true);
         viewNavigatorPopUp.removeEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler);

            return;
        
        lastAspectRatio = aspectRatio;
        
        if (autoHideFirstViewNavigator)
        {

import spark.components.supportClasses.ViewNavigatorBase;
import spark.events.ElementExistenceEvent;
import spark.events.PopUpEvent;
import spark.transitions.ViewTransitionBase;

use namespace mx_internal;

