 			super.validateAfterChildren();
 			applyOutOfFlowChildPositions();
 		}
+		
+		protected function mousedEvent_validationComplete(event : DisplayEvent) : void
+		{
+			m_mousedComponent.document.addEventListener(
+				DisplayEvent.DOCUMENT_VALIDATION_COMPLETE, document_validationComplete);
+		}
+		
+		protected function document_validationComplete(event : DisplayEvent) : void
+		{
+			m_mousedComponent.document.removeEventListener(
+				DisplayEvent.DOCUMENT_VALIDATION_COMPLETE, document_validationComplete);
+			validateElement(true, true);
+			updatePosition();
+		}
 	}
 }
		
		public function setMousedComponent(mousedComponent:UIComponent):void
		{
			m_mousedComponent = mousedComponent;
			refreshSelectorPath();
		}
		
		public function mousedComponent():UIComponent
		{
			return m_mousedComponent;

		{
			return m_tooltipDataProvider;
		}

		override public function remove(...args : *) : void
		{
			m_mousedComponent && m_mousedComponent.removeEventListener(
				DisplayEvent.VALIDATION_COMPLETE, mousedEvent_validationComplete);
			super.remove(args);
		}

		
		/***************************************************************************
		*							protected methods								   *
