         
         caretChanged = true;
         invalidateProperties();
-        
-        if (caretIndicator)
-            invalidateDisplayListFor("caretIndicator");         
+
+        // Unconditionally invalidate because renderers may depend on
+        // caretRowIndex even when the caretIndicator doesn't exist.
+        invalidateDisplayListFor("caretIndicator");         
         dispatchChangeEvent("caretRowIndexChanged");
     }
     

            return;
        
        _hoverColumnIndex = value;
        if (hoverIndicator)
            invalidateDisplayListFor("hoverIndicator");
        dispatchChangeEvent("hoverColumnIndexChanged");
    }
    

            return;
        
        _hoverRowIndex = value;

        // Unconditionally invalidate because renderers may depend on
        // hoverRowIndex even when the hoverIndicator doesn't exist.
        invalidateDisplayListFor("hoverIndicator");           
        dispatchChangeEvent("hoverRowIndexChanged");
    }
    
