         dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END,
                                      false, false, this));
         
-        if (target)
+        if (target && (target is IEventDispatcher))
         {
             target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_END,
                                                  false, false, this));

        
        dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this));
        
        if (target)
		{
            target.dispatchEvent(new EffectEvent(EffectEvent.EFFECT_START, false, false, this));
		}


import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.utils.getQualifiedClassName;
