             _currentTransition = nextTransition;
             transitionFromState = oldState;
             transitionToState = _currentState;
+            // Tell the effect whether it is running in interruption mode, in which
+            // case it should grab values from the states instead of from current
+            // property values
+            Object(nextTransition.effect).transitionInterruption = 
+                (prevTransitionEffect != null);
             nextTransition.effect.addEventListener(EffectEvent.EFFECT_END, 
                 transition_effectEndHandler);
             nextTransition.effect.play();

        // Capture transition start values
        if (nextTransition)
            nextTransition.effect.captureStartValues();

        // Dispatch currentStateChanging event
        if (hasEventListener(StateChangeEvent.CURRENT_STATE_CHANGING)) 
        {

        return (this is IStateClient2 && (states.length > 0)) ? states[0].name : null;
    }

    // Used by commitCurrentState() to avoid hard-linking against Effect
    private static var effectType:Class;
    private static var effectLoaded:Boolean = false;

    /**
     *  @private
     *  Commit a pending current state change.
