     {
         event.target.removeEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);
         
+        // Since an open transition may have the disableLayout property set to true,
+        // the popup size may not be valid yet.  Force a validation to ensure that the
+        // component is properly laid out.
+        viewNavigatorPopUp.validateNow();
+
         _popUpNavigatorSizeCache.viewNavigatorPopUpWidth = viewNavigatorPopUp.explicitWidth;
         _popUpNavigatorSizeCache.viewNavigatorPopUpHeight = viewNavigatorPopUp.explicitHeight;
         

            _popUpNavigator.percentHeight = 100;
        
        viewNavigatorPopUp.addEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);
        viewNavigatorPopUp.addEventListener(PopUpEvent.CLOSE, navigatorPopUp_closeHandler);
        viewNavigatorPopUp.addEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler, false, 0, true);
        viewNavigatorPopUp.addElement(_popUpNavigator);
        

        // to a correct state.
        ViewTransitionBase.endTransitions();
        
        // Cleanup handled by viewNavigatorPopUp_closeHandler
        viewNavigatorPopUp.close(true);
    }
    
