 
         var oldValue:Number = _width;
         _width = value;
-        
-        dispatchPropertyChangeEvent("width", oldValue, value);
+
+		// The width is needed for the mirroring transform.
+		if (layoutFeatures)
+		{
+			layoutFeatures.layoutWidth = value;
+			invalidateTransform();
+		}        
+
+		dispatchPropertyChangeEvent("width", oldValue, value);
 
         // Invalidate the display list, since we're changing the actual width
         // and we're not going to correctly detect whether the layout sets

    public function parentChanged(value:Group):void
    {
        _parent = value;
    }

    //----------------------------------

            
            _width = width;
            _height = height;
			
			if (layoutFeatures)  // mirroring transform depends on width
            {
				layoutFeatures.layoutWidth = width;
                invalidateTransform();
            }
            
            if (width != oldWidth)
                dispatchPropertyChangeEvent("width", oldWidth, width);
