             if (instance == hoverIndicator) 
                 grid.hoverIndicator = null;
             
-            if (instance == caretIndicator) 
+            if (instance == caretIndicator)
+            {
                 grid.caretIndicator = null;
+                
+                removeEventListener(FocusEvent.FOCUS_IN, dataGrid_focusHandler);
+                removeEventListener(FocusEvent.FOCUS_OUT, dataGrid_focusHandler);
+            }
             
             if (instance == selectionIndicator) 
                 grid.selectionIndicator = null;

            columnHeaderBar.removeEventListener(GridEvent.SEPARATOR_MOUSE_DRAG, separator_mouseDragHandler);
            columnHeaderBar.removeEventListener(GridEvent.SEPARATOR_MOUSE_UP, separator_mouseUpHandler);             
        }
    }
    
    //----------------------------------

            grid.caretIndicator = null;
            grid.selectionIndicator = null;
            
            // IDataGridElements: grid, columnHeaderBar
            
            if (columnHeaderBar)
