             // Set position
             layoutItem.setActualPosition(childX, childY);
         }
+        var r:Rectangle = layoutTarget.scrollRect;
+        if (r != null) 
+        {
+            r.width = unscaledWidth;
+            r.height = unscaledHeight;
+            layoutTarget.scrollRect = r;
+        }
+        else 
+        {
+        	var rx:Number = layoutTarget.horizontalScrollPosition;
+        	var ry:Number = layoutTarget.verticalScrollPosition;
+        	layoutTarget.scrollRect = new Rectangle(rx, ry, unscaledWidth, unscaledHeight);
+        } 
     }
 }
 

        layoutTarget.measuredHeight = Math.max(height, minHeight);
        layoutTarget.measuredMinWidth = minWidth;
        layoutTarget.measuredMinHeight = minHeight;
    }

    public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void

import flex.intf.ILayout;
import flex.intf.ILayoutItem;
import flash.geom.Point;
import flash.geom.Rectangle;

import flex.core.Group;

