         _transform = value;
     }
     
+    /**
+     * @private
+     * 
+     * Sets the colorTransform property of the transform. Called by mx.geom.Transform
+     * when its colorTransform property has been changed.   
+     */
     public function setColorTransform(value:ColorTransform):void
+    {
+        applyColorTransform(value, true);
+    }
+    
+    /**
+     * @private
+     */
+    private function applyColorTransform(value:ColorTransform, updateAlpha:Boolean):void
     {
         if (_colorTransform != value)
         {
             var previous:Boolean = needsDisplayObject;
             // Make a copy of the colorTransform
             _colorTransform = new ColorTransform(value.redMultiplier, value.greenMultiplier, value.blueMultiplier, value.alphaMultiplier,
-                                                 value.redOffset, value.greenOffset, value.blueOffset, value.alphaOffset);
+                value.redOffset, value.greenOffset, value.blueOffset, value.alphaOffset);
+            
+            if (updateAlpha)
+                _alpha = value.alphaMultiplier;
             
             if (displayObject && displayObjectSharingMode == DisplayObjectSharingMode.OWNS_UNSHARED_OBJECT)
             {

            }          
        }
        
        setColorTransform(colorTransform);

        invalidateTransform(previous != needsDisplayObject);
    }

////////////////////////////////////////////////////////////////////////////////
//
//  ADOBE SYSTEMS INCORPORATED
//  Copyright 2008 Adobe Systems Incorporated
//  All Rights Reserved.
//
//  NOTICE: Adobe permits you to use, modify, and distribute this file
