 	                if (_columns[_editedItemPosition.columnIndex].editable &&
 	                    _columns[_editedItemPosition.columnIndex].visible)
 	                {
-                        foundOne = true;
-                        break;
+						var row:Array = listItems[_editedItemPosition.rowIndex];
+						if (row && row[_editedItemPosition.columnIndex])
+						{
+							foundOne = true;
+							break;
+						}
 	                }
 	            }
 


        return !(advancedDataGridEvent.isDefaultPrevented())
    }

    /**
     *  @private

                index += incr;
                if (index > maxIndex || index < 0)
                {
					if (endEdit(AdvancedDataGridEventReason.NEW_ROW))
					{
						// if we've fallen off the rows, we need to leave the grid. get rid of the editor
						setEditedItemPosition(null);
						
						// set focus back to the grid so default handler will move it to the next component
						deferFocus();
						return false;
					}
                    return true;
                }
            }

