             setValue(currValue);
             dispatchEvent(new Event("change"));
         }        
+        
+        if (dataTipInstance)
+        {
+            systemManager.toolTipChildren.removeChild(DisplayObject(dataTipInstance));
+            dataTipInstance = null;
+        }
         
         super.system_mouseUpHandler(event);
     }

    
    /**
     *  @private
     */
    override protected function partAdded(partName:String, instance:Object):void
    {

        {
            setValue(currValue)
            dispatchEvent(new Event("change"));
        }
        
        if (dataTipInstance && showDataTip)
        { 
	        dataTipInstance.data = formatDataTipText(currValue);
	        
	        // Force the dataTip to render so that we have the correct size since
	        // positionDataTip might need the size
	        var tipAsUIComponent:UIComponent = dataTipInstance as UIComponent; 
	        if (tipAsUIComponent)
	        {
	        	tipAsUIComponent.validateNow();
	        	tipAsUIComponent.setActualSize(tipAsUIComponent.getExplicitOrMeasuredWidth(),tipAsUIComponent.getExplicitOrMeasuredHeight());
	        }
	        
			positionDataTip();
        }
        
        event.updateAfterEvent();
