      *  @param request Use type Event instead of Request because the event may be send from
      *  another ApplicationDomain (A.2).
      */
-    public function loader_content_getFlexModuleFactoryRequestHandler(request:Event):void
+    private function contentHolder_getFlexModuleFactoryRequestHandler(request:Event):void
     {
         if ("value" in request)
             request["value"] = moduleFactory;
     }
     
+    /**
+     *  @private
+     * 
+     *  Used when we are loading a class. If the embedded class is a SWF, then wait for
+     *  the added event where the target is a IFlexModuleFactory. This will be message after
+     *  the event for the class being added. 
+     * 
+     *  All this is done to support the module factory parent request when loading an 
+     *  embedded swf.
+     */
+    private function contentHolder_addedHandler(event:Event):void
+    {
+        if (event.target == contentHolder)
+            return;  // wait for next message
+        
+        if (event.target is IFlexModuleFactory)
+        {
+            // Listen for requests to get the flex module factory.
+            event.target.addEventListener(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST, 
+                                          contentHolder_getFlexModuleFactoryRequestHandler);            
+        }
+
+        contentHolder.removeEventListener(Event.ADDED, contentHolder_addedHandler);
+    }
+
     /**
      *      @private
      * 

        if (cls)
        {
            contentHolder = child = new cls();
            addChild(child);
            contentLoaded();

        }
        else if (classOrString is DisplayObject)
        {
            contentHolder = child = DisplayObject(classOrString);
            addChild(child);
            contentLoaded();
        }
        else if (byteArray)
        {

import mx.core.FlexGlobals;
import mx.core.FlexLoader;
import mx.core.IFlexDisplayObject;
import mx.core.IFlexModuleFactory;
import mx.core.ISWFLoader;
import mx.core.IUIComponent;
import mx.core.UIComponent;
