             {
                 for (i = temp; i < _columnCount; i++)
                     _columnWidths[i] = NaN;
+                
+                if (_columnCount == 0)
+                {
+                    clearTypicalCellWidthsAndHeights();
+                }
+                else
+                {
+                    typicalCellWidths.length = _columnCount;
+                    typicalCellHeights.length = _columnCount;
+                }
+
             }
         }
     }

            return;
        
        _defaultRowHeight = bound(value, _minRowHeight, _maxRowHeight);
    }
    
    //----------------------------------

    private var recentNode:GridRowNode = null;
    
    private const typicalCellWidths:Array = new Array();
    private const typicalCellHeights:Array = new Array();
    private var isFirstTypicalCellHeight:Boolean = true;
    
    //--------------------------------------------------------------------------
    //
