             videoElement.removeEventListener(spark.events.VideoEvent.METADATA_RECEIVED, videoElement_metaDataReceivedHandler);
             videoElement.removeEventListener(spark.events.VideoEvent.PLAYHEAD_UPDATE, videoElement_playHeadUpdateHandler);
             videoElement.removeEventListener(ProgressEvent.PROGRESS, videoElement_progressHandler);
+            videoElement.removeEventListener(spark.events.VideoEvent.READY, dispatchEvent);
             videoElement.removeEventListener(fl.video.VideoEvent.STATE_CHANGE, videoElement_stateChangeHandler);
             videoElement.removeEventListener("playingChanged", videoElement_playingChangedHandler);
             

            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint, 
                                                        SOURCE_PROPERTY_FLAG, true);
        }
        else
            videoElementProperties.source = value;
    }
    
    //----------------------------------

     *  videoElementProperties stores booleans as to whether these properties 
     *  have been explicitely set or not.
     */
    private var videoElementProperties:Object;
    
    //--------------------------------------------------------------------------
    //
