             if (hasEventListener(FlexEvent.TRANSITION_START))
                 dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_START));
             
+            if (navigator && navigator.stage && navigator.stage.hasEventListener(FlexEvent.TRANSITION_START))
+                navigator.stage.dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_START));
+                    
             effect.play();
         }
         else

    //  Methods
    //
    //--------------------------------------------------------------------------
    
    /**
     *  Called by the ViewNavigator during the preparation phase of a transition.
     *  It is invoked when the new view has been fully realized and validated and the 

     */
    protected function transitionComplete():void
    {
        var stage:Stage;
        if (navigator)
            stage = navigator.stage;
        
        cleanUp();
     
        activeTransitions.splice(activeTransitions.indexOf(this), 1);
        
        if (hasEventListener(FlexEvent.TRANSITION_END))
            dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_END));
        
        if (stage && stage.hasEventListener(FlexEvent.TRANSITION_END))
            stage.dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_END));
    }
    
    /**
