                 
                 dispatchEvent(new ModuleEvent(ModuleEvent.ERROR, false, false, 
                               0, 0, errorMessage));
+                
+                loaderInfo.removeEventListener(Event.COMPLETE, moduleCompleteHandler);
                 break;
 			}
         }

        			timer.reset();

                    dispatchEvent(new Event("ready"));
                }
                break;
			}

        update();
    }

    private function docFrameListener(event:Event):void
    {
        if (currentFrame == 2)
        {
            removeEventListener(Event.ENTER_FRAME, docFrameListener);
            if (totalFrames > 2)
                addEventListener(Event.ENTER_FRAME, extraFrameListener);
            
            docFrameHandler();
        }
    }
    
    private function extraFrameListener(event:Event):void
    {
        if (lastFrame == currentFrame)
            return;
        
        lastFrame = currentFrame;
        
        if (currentFrame + 1 > totalFrames)
            removeEventListener(Event.ENTER_FRAME, extraFrameListener);
        
        extraFrameHandler();
    }

    //--------------------------------------------------------------------------
	//
	//  Variables
	//
