                 if (styleableSkin)
                     styleableSkin.styleName = this;
 
+                if (newSkin is ILayoutDirectionElement && skinLayoutDirectionSet)
+                    ILayoutDirectionElement(newSkin).layoutDirection = _skinLayoutDirection;
+                
                 addChild(DisplayObject(newSkin));
 
                 // Make the skin the proper size for this Button.

import mx.core.IFlexModuleFactory;
import mx.core.IFontContextComponent;
import mx.core.IInvalidating;
import mx.core.IProgrammaticSkin;
import mx.core.IStateClient;
import mx.core.IUIComponent;

                if (newSkin)
                {
                    checkedDefaultSkin = true;
                    
                    if (newSkin is ILayoutDirectionElement && skinLayoutDirectionSet)
                        ILayoutDirectionElement(newSkin).layoutDirection = _skinLayoutDirection;
                }
            }
        }
