 			for (var col:int = 0; col < listItems[row].length; col++)
 			{
 				var i:IVisualElement = listItems[row][col];
-				if(i == grid.editor.editedItemRenderer)
-					i = grid.itemEditorInstance;
-				var itemDelegate:IAutomationObject = i as IAutomationObject;
-				var s:String = (useName
-					? itemDelegate.automationName
-					: itemDelegate.automationValue.join(" | "));
-				if ( i == item )
-				{
-					// we got a valid item renderer
-					s= "*" + s + "*";
-					validItemRendererFound= true;
-				}               
-				result.push(s);
+				if(i != null)	//can be null if column is not visible
+				{
+					if(i == grid.editor.editedItemRenderer)
+						i = grid.itemEditorInstance;
+					var itemDelegate:IAutomationObject = i as IAutomationObject;
+					var s:String = (useName
+						? itemDelegate.automationName
+						: itemDelegate.automationValue.join(" | "));
+					if ( i == item )
+					{
+						// we got a valid item renderer
+						s= "*" + s + "*";
+						validItemRendererFound= true;
+					}               
+					result.push(s);
+				}
 			}
 			
 			if(isHeader && (validItemRendererFound==false))

		 * @private
		 */
		protected function recordDGHeaderClickEvent(item:IGridItemRenderer,
												   trigger:Event, 
												   cacheable:Boolean=false):void
		{
			//recordAutomatableEvent(event, cacheable);
		}

				case KeyboardEvent.KEY_DOWN:
				{
					grid.setFocus();
					return help.replayKeyDownKeyUp(uiComponent, KeyboardEvent(interaction).keyCode, KeyboardEvent(interaction).ctrlKey, KeyboardEvent(interaction).shiftKey, KeyboardEvent(interaction).altKey);
				}
				case SparkDataGridItemSelectEvent.SELECT_INDEX:
				case SparkDataGridItemSelectEvent.SELECT:
