             if (!isNaN(column.width))
                 cellWidth = column.width;
             
-            if (isNaN(cellWidth) || (!isFixedRowHeight && isNaN(cellHeight)))
+            if (isNaN(cellWidth) || isNaN(cellHeight))
             {
                 var renderer:IVisualElement = createTypicalItemRenderer(columnIndex);
                 if (isNaN(cellWidth))

		const columnGap:int = gridDimensions.columnGap;
		const startCellX:Number = gridDimensions.getCellX(0 /* rowIndex */, firstVisibleColumnIndex);
        const isFixedRowHeight:Boolean = !grid.variableRowHeight;
        
        
		for (var columnIndex:int = firstVisibleColumnIndex; 
                 (isNaN(width) || (width > 0)) && (columnIndex < columnCount); 
                 columnIndex++)

    			else
    				width -= cellWidth + columnGap;
            }
            
            maxTypicalCellHeight = Math.max(maxTypicalCellHeight, cellHeight);
		}
        
        if (isFixedRowHeight && isNaN(grid.rowHeight))
            gridDimensions.fixedRowHeight = maxTypicalCellHeight;
    }
	
	/**
	 *  @private
