         // popup, then don't host the pop up.
         if (event.target != this)
         {
-            var bridgeProvider:ISWFBridgeProvider = swfBridgeGroup.getChildBridgeProvider(popUpRequest.requestor);
+            var bridgeProvider:ISWFBridgeProvider = swfBridgeGroup.getChildBridgeProvider(
+                                                    IEventDispatcher(event.target));
             if (!SecurityUtil.hasMutualTrustBetweenParentAndChild(bridgeProvider))
             {
                 return;

				
			try
			{
				// TODODJL: problem loading untrusted children, stage is null and we don't 
				// add the listener we wanted.
				if (stage)
					stage.addEventListener(type, listener, useCapture, priority, useWeakReference);
				else
					super.addEventListener(type, listener, useCapture, priority, useWeakReference);
				
			}
			catch (error:SecurityError)
			{

				
			try
			{
                // Remove both listeners in case the system manager was added
                // or removed from the stage after the listener was added.
                if (stage)
                    stage.removeEventListener(type, listener, useCapture);

                super.removeEventListener(type, listener, useCapture);
			}
			catch (error:SecurityError)
			{
