             if (_instances[i])
                 return IEffectInstance(_instances[i]).playheadTime;
         }
-        return 0;
+        // Effect isn't running: return the cached value
+        return _playheadTime;
     }
     public function set playheadTime(value:Number):void
     {

        }
        if (started)
            pause();
    }

    //--------------------------------------------------------------------------

    // playheadTime
    //----------------------------------

    /**
     * @private
     * Backing storage for the playheadTime property. Note that this
     * value is just a backup, used if the effect is not currently running.
     * A running effect will query its effect instance for the value
     * instead.
     */
    private var _playheadTime:Number = 0;
    
    /**
     *  Current time position of the effect.
     *  This property has a value between 0 and the total duration, 
