      */
     override public function updateRenderer(renderer:IVisualElement):void
     {
-        //First clean up any old, stale properties like selected      
+        //First clean up any old, stale properties like selected and caret      
         if (renderer is IItemRenderer && IItemRenderer(renderer).selected)
+        {
             IItemRenderer(renderer).selected = false;
-            
+            IItemRenderer(renderer).caret = false; 
+        }    
         //Now run through and initialize the renderer correctly
         super.updateRenderer(renderer); 
           

 *  @productversion Flex 4
 */
[Event(name="selectionChanged", type="mx.events.IndexChangedEvent")]

/**
 *  The ListBase class is the base class for all components that support

    protected function itemSelected(index:int, selected:Boolean):void
    {
        // Subclasses must override this method to display the selection.
    }
    
    /**
     *  Called when an item is in its caret state or not. 
     *  Subclasses must override this method to display the caret.  
     *
     *  @param index The item index that was put into caret state. 
     *
     *  @param inFocus <code>true</code> if the item is in the caret state,  
     *  and <code>false</code> if it is not.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    protected function itemInCaret(index:int, caret:Boolean):void
    {
        // Subclasses must override this method to display the caret. 
    }
    
    /**
