 		{
 			if (event.target != this)
 				return ;
+
+			stage.align = StageAlign.TOP_LEFT;
+			stage.scaleMode = StageScaleMode.NO_SCALE;
 			
 			if (_autoResize)
 			{
 				parent.addEventListener(Event.RESIZE, resizeHandler);
-				
-				if (parent == stage)
-				{
-					stage.align = StageAlign.TOP_LEFT;
-					stage.scaleMode = StageScaleMode.NO_SCALE;
-				}
-			}
-			
-			resizeHandler();
+				resizeHandler();
+			}
 		}
 		
 		private function removedHandler(event : Event) : void
 		{
-			parent.removeEventListener(Event.RESIZE, resizeHandler);
+			if (event.target == this)
+				parent.removeEventListener(Event.RESIZE, resizeHandler);
 		}
 		
 		private function addedToStageHandler(event : Event) : void

			}
		}
		
		private function update() : void
		{
			if (_stage3d)
			{

				while (_stage3d.willTrigger(Event.CONTEXT3D_CREATE))
					_stage3d = stage.stage3Ds[int(++stageId)];
				
				_stage3d.addEventListener(Event.CONTEXT3D_CREATE, context3DCreatedHandler);
				_stage3d.requestContext3D(Context3DRenderMode.AUTO);
			}
			
