 			const rowIndices:Vector.<int> = getVisibleRowIndices();
 			for each (rowIndex in rowIndices)
 			{
+				// If there are any padding rows, skip them.
+				if (rowIndex >= dataProviderLength)
+					break;
+				
 				dataProvider.itemUpdated(dataProvider.getItemAt(rowIndex), dataField);			
 			}
 		}

     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    protected function createGridSelection():GridSelection
    {
        return new GridSelection();    
    }

     */
    public function invalidateCell(rowIndex:int, columnIndex:int):void
    {
        if (!dataProvider)
			return;
		
		const dataProviderLength:int = dataProvider.length;
		if (rowIndex >= dataProvider.length)
			return;
		
		if (!isCellVisible(rowIndex, columnIndex))
