 	private var idToPlaceholder:Object;
 	
 	private var eventProxy:EventProxy;
+    
+    private var eventProxyRefCounts:Object = {};
 
 	//--------------------------------------------------------------------------
 	//

	{
		var awm:ActiveWindowManager = 
			ActiveWindowManager(systemManager.getImplementation("mx.managers::IActiveWindowManager"));

		// trace("SM: activate " + f + " " + forms.length);
		if (awm.form)
		{
			if (awm.form != event.form && awm.forms.length > 1)

					addEventListenerToOtherSystemManagers(type, otherSystemManagerMouseListener, useCapture, priority, useWeakReference)
				if (systemManager.getSandboxRoot() == systemManager)
                {
                    if (eventProxyRefCounts[actualType] == null)
                        eventProxyRefCounts[actualType] = 1;                        
                    else
                        eventProxyRefCounts[actualType] ++;
                    Object(systemManager).$addEventListener(actualType, eventProxy.marshalListener,
                            useCapture, priority, useWeakReference);
                    if (actualType == MouseEvent.MOUSE_UP)
