     {
         super.commitProperties();
         
-        if (blendModeChanged && !blendShaderChanged)
+        if (blendModeChanged)
         {
             blendModeChanged = false;
-            if (_blendMode == "auto" && alpha < 1 && alpha > 0)
-                super.blendMode = BlendMode.LAYER;
-            else if (_blendMode == "auto" && alpha == 1 || alpha == 0)
-                super.blendMode = BlendMode.NORMAL;
-            else 
-                super.blendMode = _blendMode; 			
-        }
-		
-		if (blendShaderChanged)
-		{
-			// The graphic element's blendMode was set to a non-Flash 
-			// blendMode. We mimic the look by instantiating the 
-			// appropriate shader class and setting the blendShader
-			// property on the displayObject. 
-			blendShaderChanged = false; 
-			switch(_blendMode)
-			{
-				case "color": 
-				{
-					super.blendShader = new ColorShader();
-					break; 
-				}
-				case "colordodge":
-				{
-					super.blendShader = new ColorDodgeShader();
-					break; 
-				}
-				case "colorburn":
-				{
-					super.blendShader = new ColorBurnShader();
-					break; 
-				}
-				case "exclusion":
-				{
-					super.blendShader = new ExclusionShader();
-					break; 
-				}
-				case "hue":
-				{
-					super.blendShader = new HueShader();
-					break; 
-				}
-				case "luminosity":
-				{
-					super.blendShader = new LuminosityShader();
-					break; 
-				}
-				case "saturation": 
-				{
-					super.blendShader = new SaturationShader();
-					break; 
-				}
-				case "softlight":
-				{
-					super.blendShader = new SoftLightShader();
-					break; 
-				}
-			}
-		}
+            if (!blendShaderChanged)
+            {
+                if (_blendMode == "auto")
+                {
+                    if (alpha == 0 || alpha == 1) 
+                        super.blendMode = BlendMode.NORMAL;
+                    else
+                        super.blendMode = BlendMode.LAYER;
+                }
+                else 
+                    super.blendMode = _blendMode; 
+            }
+            else
+            {
+                // The graphic element's blendMode was set to a non-Flash 
+                // blendMode. We mimic the look by instantiating the 
+                // appropriate shader class and setting the blendShader
+                // property on the displayObject. 
+                blendShaderChanged = false; 
+                switch(_blendMode)
+                {
+                    case "color": 
+                    {
+                        super.blendShader = new ColorShader();
+                        break; 
+                    }
+                    case "colordodge":
+                    {
+                        super.blendShader = new ColorDodgeShader();
+                        break; 
+                    }
+                    case "colorburn":
+                    {
+                        super.blendShader = new ColorBurnShader();
+                        break; 
+                    }
+                    case "exclusion":
+                    {
+                        super.blendShader = new ExclusionShader();
+                        break; 
+                    }
+                    case "hue":
+                    {
+                        super.blendShader = new HueShader();
+                        break; 
+                    }
+                    case "luminosity":
+                    {
+                        super.blendShader = new LuminosityShader();
+                        break; 
+                    }
+                    case "saturation": 
+                    {
+                        super.blendShader = new SaturationShader();
+                        break; 
+                    }
+                    case "softlight":
+                    {
+                        super.blendShader = new SoftLightShader();
+                        break; 
+                    }
+                }
+            }
+        }
         
         if (needsDisplayObjectAssignment)
         {

     *  If you attempt to set this property to an invalid value, 
     *  Flash Player or Adobe AIR sets the value to <code>BlendMode.NORMAL</code>. 
     *
     *  @default "auto"
     *
     *  @see flash.display.DisplayObject#blendMode

     */
    override public function set blendMode(value:String):void
    {
        if (value == _blendMode)
            return;
        
        invalidateProperties();
        blendModeChanged = true;
        
    	//The default blendMode in FXG is 'auto'. There are only
        //certain cases where this results in a rendering difference,
