                 (o is IUIComponent ? IUIComponent(o).enabled : true))
                 return o;
 
-			if (!dispatchEvent(new FocusEvent("getTopLevelFocusTarget", false, true, o.parent)))
-				return null;
+            if (hasEventListener("getTopLevelFocusTarget"))
+    			if (!dispatchEvent(new FocusEvent("getTopLevelFocusTarget", false, true, o.parent)))
+			    	return null;
 
             o = o.parent;
 


                browserFocusComponent = null;

				dispatchEvent(new FocusEvent("browserFocusComponent", false, false, InteractiveObject(event.target)));
				
                return;
            }

        // trace("FM " + this + " focusInHandler " + target);

		// dispatch cancelable FocusIn to see if Marshal Plan mixin wants it
        if (hasEventListener(FocusEvent.FOCUS_IN))
    		if (!dispatchEvent(new FocusEvent(FocusEvent.FOCUS_IN, false, true, target)))
    			return;

        if (isParent(DisplayObjectContainer(form), target))
        {
