         graphics.clear();
         
         var backgroundColor:uint;
+        var drawBackground:Boolean = true;
         if (selected)
             backgroundColor = getStyle("selectionColor");
         else if (hovered)

import flash.display.DisplayObject;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;

import mx.controls.listClasses.*;
import mx.core.IDataRenderer;
import mx.core.IFlexDisplayObject;
import mx.core.IFlexModuleFactory;
import mx.core.IFontContextComponent;
import mx.core.IToolTip;
import mx.core.IUITextField;
import mx.core.UIComponent;
import mx.core.UITextField;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.events.InterManagerRequest;
import mx.events.ToolTipEvent;
import mx.managers.ISystemManager;

import spark.components.IItemRenderer;
import spark.components.Label;

            }
            else
            {
                // don't draw background if it is the contentBackgroundColor. The
                // list skin handles the background drawing for us.
                drawBackground = false;
            }
        }
        
        if (drawBackground)
            graphics.beginFill(backgroundColor, 1);
            
        if (showsCaret)
        {
            graphics.lineStyle(1, getStyle("selectionColor"));
            graphics.drawRect(0.5, 0.5, unscaledWidth-1, unscaledHeight-1);
        }
        else 
        {
            graphics.lineStyle();
            graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
        }
            
        if (drawBackground)
            graphics.endFill();
        
        labelDisplay.move(3, 5);
        labelDisplay.setActualSize(unscaledWidth - 6, unscaledHeight - 10);
