             invalidateProperties();
             invalidateSize();
             invalidateDisplayList();
-
-            gridDimensions.clear();
-            if (_columns)
-                gridDimensions.columnCount = _columns.length;
-            if (_dataProvider) // clearing the gridDimensions resets rowCount
-                gridDimensions.rowCount = _dataProvider.length;
             
             dispatchChangeEvent("columnsChanged");        
         }

            invalidateProperties();
            invalidateSize();
            invalidateDisplayList();
            
            gridDimensions.clear();
            if (_dataProvider)
                gridDimensions.rowCount = _dataProvider.length;
            
            dispatchChangeEvent("dataProviderChanged");        
        }

                    // clearing the gridDimensions resets rowCount
                    if (_dataProvider)
                        gridDimensions.rowCount = _dataProvider.length;
                    if (columnsChanged && _columns)
                        gridDimensions.columnCount = _columns.length;
                }
                
