         var renderer:Object = event.renderer;
         
         if (renderer)
+        {
             renderer.removeEventListener("click", item_clickHandler);
+            renderer.removeEventListener("dataChange", item_dataChangeHandler);
+        }
     }
     
     /**

    
    //--------------------------------------------------------------------------
    //
    //  Methods
    //
    //--------------------------------------------------------------------------
    
    //--------------------------------------------------------------------------
    //
    //  Private Methods
    //
    //--------------------------------------------------------------------------

        // Multiple selection needs to be added here....
        
        selectedIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
    }
    
    /**
     *  @private
     *  Called when an item's data has changed. 
     */
    private function item_dataChangeHandler(event:FlexEvent):void
    {
    	var renderer:Object = event.target;
    	if (renderer)
    	{
    		//If the labelElement part has been defined on the renderer, 
    		//push the right text in based on the new data. 
        	if ((renderer is ItemRenderer) && (renderer.labelElement))
        	{
        		renderer.labelElement.text = itemToLabel(renderer.data);
        	}
     	}
    }
    
    /**
