     {
         if (value == scaleY)
             return;
-        
-        // need to keep the "real scale" in synch here; otherwise, we 
-        // won't know what to do in applyComputedMatrix()
-        mx_internal::$scaleY = value*mx_internal::scaleYDueToSizing;
         
         if(_layoutFeatures == null) initAdvancedLayoutFeatures();
         var prevValue:Number = _layoutFeatures.layoutScaleY;

        if (value == scaleX)
            return;
        
        // need to keep the "real scale" in synch here; otherwise, we 
        // won't know what to do in applyComputedMatrix()
        mx_internal::$scaleX = value*mx_internal::scaleXDueToSizing;
        
        if(_layoutFeatures == null) initAdvancedLayoutFeatures();
        var prevValue:Number = _layoutFeatures.layoutScaleX;
        if (prevValue == value)

        // Afterwards, we'll reset it to the "user-set" scale.
        var oldScaleX:Number = _layoutFeatures.layoutScaleX;
        var oldScaleY:Number = _layoutFeatures.layoutScaleY;
        _layoutFeatures.layoutScaleX = _layoutFeatures.layoutScaleX * mx_internal::scaleXDueToSizing;
        _layoutFeatures.layoutScaleY = _layoutFeatures.layoutScaleY * mx_internal::scaleYDueToSizing;
        
        if(_layoutFeatures.is3D)
        {
