             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))

        layoutColumns(horizontalScrollPosition, verticalScrollPosition, NaN /* width */);        
        
        var measuredWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedColumnCount);
        var measuredHeight:Number = gridDimensions.getContentHeight(grid.requestedRowCount);
		var measuredMinWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedMinColumnCount);
		var measuredMinHeight:Number = gridDimensions.getContentHeight(grid.requestedMinRowCount);
		
        // Use Math.ceil() to make sure that if the content partially occupies
        // the last pixel, we'll count it as if the whole pixel is occupied.

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