      */
     public function set caretColumnIndex(value:int):void
     {
-        _oldCaretColumnIndex = _caretColumnIndex;
-
-        if (caretColumnIndex == value || value < -1)
+        if (_caretColumnIndex == value || value < -1)
             return;
         
+        _oldCaretColumnIndex = _caretColumnIndex;        
         _caretColumnIndex = value;
         
         caretChanged = true;

            case CollectionEventKind.MOVE:
                {
                    const oldLocation:int = event.oldLocation;
                    itemsLength = event.items.length;
                    if ((oldCaretRowIndex >= oldLocation) && (oldCaretRowIndex < (oldLocation + itemsLength)))
                        caretRowIndex += location - oldLocation;
                }

     * 
     *  <p>Setting caretColumnIndex to -1 means that the column index is undefined and 
     *  a cell caret will not be shown.</p>
     *  
     *  @default -1
     * 
     *  @langversion 3.0
