         // so that they are still available for reuse upon re-playing the effect
         var tmpStartDelay:Number = startDelay;
         startDelay = 0;
-        var tmpAnimProps:Array = animationProperties;
-        animationProperties = null;
+        var tmpAnimProps:Array = motionPaths;
+        motionPaths = null;
         super.initInstance(instance);
         startDelay = tmpStartDelay;
-        animationProperties = tmpAnimProps;
+        motionPaths = tmpAnimProps;
     }
 
     /**

        var transformInstance:AnimateTransformInstance =
            AnimateTransformInstance(instance);
        
        // Feed startDelay directly into keyframe times
        if (animationProperties)
        {            
            var instanceAnimProps:Array = [];
            for (i = 0; i < animationProperties.length; ++i)
            {
                instanceAnimProps[i] = animationProperties[i].clone();
                var mp:MotionPath = MotionPath(instanceAnimProps[i]);
                if (mp.keyframes)
                {
                    for (var j:int = 0; j < mp.keyframes.length; ++j)
                    {
                        var kf:KeyFrame = KeyFrame(mp.keyframes[j]);
                        // NaN for the time is used by AnimationProperty as a
                        // placeholder for the end time of the effect
                        if (isNaN(kf.time))
                            kf.time = duration;

    private static var rotation:Vector3D = new Vector3D();
    private static var position:Vector3D = new Vector3D();

    /**
     * @private
     * This flag is set when any of the translationXYZ, rotationXYZ, scaleXYZ
     * motion path properties are set directly
     */
    private var transformPropertiesSet:Boolean = false;

    //--------------------------------------------------------------------------
    //
    //  Properties
