                 if (_colorTransform)
                     displayObject.transform.colorTransform = _colorTransform;
             }
-
+            
             if (alphaChanged || displayObjectChanged)
             {
                 alphaChanged = false;
-                displayObject.alpha = _alpha;
-            }
+                
+                mxTransform = _transform as mx.geom.Transform;
+                if (!mxTransform || !mxTransform.applyColorTransformAlpha)
+                    displayObject.alpha = _alpha;
+            }  
 
             if (blendModeChanged || displayObjectChanged)
             {

    private var _colorTransform:ColorTransform;

    private var colorTransformChanged:Boolean;

    /**
     *  @private The Sprite to draw into. 
     *  If null, then we just use displayObject or sharedDisplayObject

     *  @private
     */
    private var alphaChanged:Boolean = false;
    
    [Inspectable(category="General")]

    /**
