         // to be fading it in
         if ("visible" in target && !target.visible && 
             alphaFrom == 0 && alphaTo != 0 &&
-            propChanges && propChanges.end["visible"] !== undefined &&
-            propertyChanges.end["visible"] != propertyChanges.start["visible"])
+            ((propChanges && propChanges.end["visible"] !== undefined &&
+              propertyChanges.end["visible"] != propertyChanges.start["visible"]) ||
+             affectVisibility))
         {
             target.alpha = 0;
             target.visible = true;

        // side-effecting and what we should reset at the end
        if ("visible" in target && target.visible && 
            alphaFrom != 0 && alphaTo == 0 &&
            propChanges && propChanges.end["visible"] !== undefined &&
            propertyChanges.end["visible"] != propertyChanges.start["visible"])
        {
            makeInvisible = true;
        }

     */
    public var alphaTo:Number;

    //----------------------------------
    //  affectVisibility
    //----------------------------------

    /** 
     *  @copy spark.effects.Fade#affectVisibility
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public var affectVisibility:Boolean;

    /**
     *  @private
     */
