         _itemRenderer = value;
 
         invalidateGrid();
-        clearGridLayoutCache();
+        if (grid)
+            grid.clearGridLayoutCache(true);
         
         dispatchChangeEvent("itemRendererChanged");
     }

    
    /**
     *  @private
     *  Clears the layout's cache and the typical item's measurements.
     */
    private function clearGridLayoutCache():void
    {
        if (grid && grid.layout)
        {
            var gridLayout:GridLayout = grid.layout as GridLayout;
            if (gridLayout)
                gridLayout.gridDimensions.clearTypicalCellWidthsAndHeights();
            grid.layout.clearVirtualLayoutCache();
        }
    }
    
    /**
     *  @private
     */
    private function dispatchChangeEvent(type:String):void
    {

            dataFieldPath = [value];
        
        invalidateGrid();
        if (grid)
            grid.clearGridLayoutCache(true);
        
        dispatchChangeEvent("dataFieldChanged");
    }
