             // We don't do anything too fancy here for layout, like make sure 
             // our size is large enough to hold our content in the first place
             
-            contentWidth = Math.max(flexContent.minWidth, 
-                Math.min(_width, flexContent.getExplicitOrMeasuredWidth()));
-            contentHeight = Math.max(flexContent.minHeight, 
-                Math.min(_height, flexContent.getExplicitOrMeasuredHeight()));
-            
-            flexContent.setActualSize(contentWidth, contentHeight);
-        }
+            contentWidth = Math.min(_width, flexContent.getExplicitOrMeasuredWidth());
+            contentHeight = Math.min(_height, flexContent.getExplicitOrMeasuredHeight());
+        }
+        
+        // width and height are what we actually want our content
+        // to fill up, but it doesn't take in to account our secretScale.
+        if (!myParent.scaleContent)
+        {
+            // apply the scale to the width/height
+            var secretScaleX:Number = myParent.mx_internal::$scaleX/myParent.scaleX;
+            var secretScaleY:Number = myParent.mx_internal::$scaleY/myParent.scaleY;
+            
+            contentWidth *= secretScaleX;
+            contentHeight *= secretScaleY;
+        }
+        
+        contentWidth = Math.max(flexContent.minWidth, contentWidth);
+        contentHeight = Math.max(flexContent.minHeight, contentHeight);
+        
+        flexContent.setActualSize(contentWidth, contentHeight);
     }
 }
 }

            
            if (flexContent.explicitHeight)
                contentHeight = Math.min(contentHeight, flexContent.explicitHeight);
                
            flexContent.setActualSize(contentWidth, contentHeight);
        }
        else
        {

import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.InteractiveObject;
import flash.events.Event;
import flash.utils.getDefinitionByName;

import mx.core.IUIComponent;
