         // there's space left over, widen the columns whose GridColumn width 
         // isn't set explicitly, to fill the extra space.
         
-        if ((scrollX != 0) || isNaN(width) || (availableWidth <= 1.0) || (flexibleColumnCount == 0))
+        if ((scrollX != 0) || isNaN(width) || (availableWidth < 1.0) || (flexibleColumnCount == 0))
             return;
         
         const columnWidthDelta:Number = Math.ceil(availableWidth / flexibleColumnCount);
-        
-        for (columnIndex = firstVisibleColumnIndex; (columnIndex < columnCount) && (availableWidth > 1.0); columnIndex++)
+
+        for (columnIndex = firstVisibleColumnIndex; (columnIndex < columnCount) && (availableWidth >= 1.0); columnIndex++)
         {
             gridColumn = getGridColumn(columnIndex);
             

     */
    override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
        if (!grid)
            return;
        

 	private function layoutColumns(scrollX:Number, scrollY:Number, width:Number):void
	{
        const gridDimensions:GridDimensions = gridDimensions;
        var columnCount:int = gridDimensions.columnCount;
        if (columnCount <= 0)
            return;
        
        // If width isn't specified (see measure()), then only update requestedColumnCount columns
        
        const requestedColumnCount:int = grid.requestedColumnCount;
        if (isNaN(width) && (requestedColumnCount != -1))
            columnCount = Math.min(columnCount, requestedColumnCount);
        
