         // We only want to track "parent" as it affects how
         // we fade; we don't actually want to change target properties
         // other than alpha or visibility
-        if (property == "parent")
+        if (property == "parent" || property == "index")
             return;
             
         super.applyValueToTarget(target, property, value, props);


package spark.effects
{
import mx.effects.IEffectInstance;

import spark.effects.supportClasses.FadeInstance;

     */
    override public function getAffectedProperties():Array /* of String */
    {
        return ["alpha", "visible", "parent", "index"];
    }

    override protected function getValueFromTarget(target:Object, property:String):*
    {
        // We track 'index' for use in the addDisappearingTarget() function in
        // AnimateInstance, in order to add the item in the correct order
        if (property == "index" && "parent" in target)
        {
            var container:* = target.parent;
            // if the target has no parent, return undefined for index to indicate that
            // it has no index value.
            if (container === undefined || container === null)
                return undefined;
            return IVisualElementContainer(container).
                getElementIndex(target as IVisualElement);
        }
        
        return super.getValueFromTarget(target, property);
    }

    /**
