         layoutHoverIndicator(grid.backgroundLayer);
         layoutSelectionIndicators(grid.selectionLayer);
         layoutCaretIndicator(grid.overlayLayer);
+        layoutEditorIndicator(grid.editorIndicatorLayer);
         
         // To avoid flashing, force all of the layers to render now
         

        freeGridElement(caretIndicator);
        caretIndicator = null;
        
        visibleItemRenderersBounds.setEmpty();
        visibleGridBounds.setEmpty();
    }      

            caretIndicator.visible = _showCaret;
    }
    
    private function layoutEditorIndicator(layer:GridLayer):void
    {
        const rowIndex:int = grid.dataGrid.editorRowIndex;
        const columnIndex:int = grid.dataGrid.editorColumnIndex;
        var indicatorFactory:IFactory = grid.dataGrid.editorIndicator;
        
        // If the indicatorFactory has changed for the specified non-null indicator, 
        // then free the old indicator.
        
        if (editorIndicator && (indicatorFactory != elementToFactoryMap[editorIndicator]))
        {
            removeGridElement(editorIndicator);
            editorIndicator = null;
            if (indicatorFactory == null)
                return;
        }
        
        if (rowIndex == -1 || columnIndex == -1)
        {
            if (editorIndicator)
                editorIndicator.visible = false;
            return;
        }
        
        if (!editorIndicator && indicatorFactory)
            editorIndicator = createGridElement(indicatorFactory);
        
        if (editorIndicator)
        {
            const bounds:Rectangle = gridDimensions.getCellBounds(rowIndex, columnIndex);
            
            layoutGridElementR(editorIndicator, bounds);
            layer.addGridElement(editorIndicator);
            editorIndicator.visible = true;
        }
        
    }
    
    //--------------------------------------------------------------------------
    //
    //  CollectionEvent handling: dataProvider, columns
