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

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 (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.
