             
         // Create scale effect to zoom in/our our target from or to our 
         // specified minimum scale.
-        var scaleEffect:Scale = new Scale();
+        scaleEffect = new Scale();
         scaleEffect.duration = duration;
         scaleEffect.easer = easer;
         scaleEffect.scaleXFrom = scaleEffect.scaleYFrom = 
             (mode == ZoomViewTransitionMode.OUT) ? 1 : minimumScale;
         scaleEffect.scaleXTo = scaleEffect.scaleYTo = 
             (mode == ZoomViewTransitionMode.OUT) ? minimumScale : 1;
-        
+        scaleEffect.addEventListener("effectUpdate", scaleEffectUpdateHandler);
+        
+        parallel.addChild(fadeEffect);
         parallel.addChild(scaleEffect);
-        parallel.addChild(fadeEffect);
         
         return parallel;    
+    }
+
+    /**
+     *  @private
+     *  Ensures transform matrix is updated even if layout is disabled.
+     */ 
+    private function scaleEffectUpdateHandler(e:Event):void
+    {
+        zoomTarget.validateDisplayList();
     }
     
 }


        transitionGroup = null;
        cachedNavigator = null;

        super.cleanUp();
    }
    

     */
    private var zoomTarget:UIComponent;
    
    /**
     *  @private
     */
    private var scaleEffect:Scale;
    
    //--------------------------------------------------------------------------
    //
    //  Properties
