 		// If we are about to wrap focus around, send focus back to the parent.
 		if (!popup && focusInfo.wrapped)
 		{
-			if (!dispatchEvent(new FocusEvent("setFocusToNextIndex", false, true, null, shiftKey)))
-				return;
+            if (hasEventListener("setFocusToNextIndex"))
+    			if (!dispatchEvent(new FocusEvent("setFocusToNextIndex", false, true, null, shiftKey)))
+	    			return;
 		}
 		
 		setFocusToComponent(focusInfo.displayObject, shiftKey);

		// If we are about to wrap focus around, send focus back to the parent.
		if (!popup && (focusInfo.wrapped || !focusInfo.displayObject))
		{
			if (!dispatchEvent(new FocusEvent("focusWrapping", false, true, null, event.shiftKey)))
				return;
		}
		
		if (!focusInfo.displayObject)

    public function deactivate():void
    {
        // trace("FocusManager deactivating " + this);
        //trace("FocusManager deactivating = " + this._form.systemManager.loaderInfo.url);
         
        // listen for focus changes
		var sm:ISystemManager = form.systemManager;
