--- hsqldb/src/org/hsqldb/Table.java	2007-10-19 23:59:07.000000000 +0200
+++ hsqldb/src/org/hsqldb/Table.java	2009-09-11 13:45:42.939231519 +0200
@@ -149,10 +149,10 @@
     Constraint[]      constraintList;                 // constrainst for the table
     HsqlArrayList[]   triggerLists;                   // array of trigger lists
     private int[]     colTypes;                       // fredt - types of columns
-    private int[]     colSizes;                       // fredt - copy of SIZE values for columns
+    int[]     	      colSizes;                       // fredt - copy of SIZE values for columns
     private int[]     colScales;                      // fredt - copy of SCALE values for columns
     private boolean[] colNullable;                    // fredt - modified copy of isNullable() values
-    private Expression[] colDefaults;                 // fredt - expressions of DEFAULT values
+    Expression[] 	  colDefaults;                 // fredt - expressions of DEFAULT values
     private int[]        defaultColumnMap;            // fred - holding 0,1,2,3,...
     private boolean      hasDefaultValues;            //fredt - shortcut for above
     boolean              sqlEnforceSize;              // inherited from the database -
--- hsqldb/src/org/hsqldb/TableWorks.java	2007-01-14 06:48:16.000000000 +0100
+++ hsqldb/src/org/hsqldb/TableWorks.java	2009-09-11 13:47:50.328667463 +0200
@@ -670,7 +670,8 @@
             // default expressions can change
             oldCol.setType(newCol);
             oldCol.setDefaultExpression(newCol.getDefaultExpression());
-            table.setColumnTypeVars(colIndex);
+			table.colSizes[colIndex]    = oldCol.getSize();
+            table.colDefaults[colIndex] = oldCol.getDefaultExpression();
             table.resetDefaultsFlag();
 
             return;
