diff --git a/modules/base/pymod/table.py b/modules/base/pymod/table.py
index c4031d0107865bf2180afdac7056e9b4750a4782..e5de1d5bf64f503ef0ae11110a9781636f457d77 100644
--- a/modules/base/pymod/table.py
+++ b/modules/base/pymod/table.py
@@ -218,7 +218,8 @@ class Table(object):
   SUPPORTED_TYPES=('int', 'float', 'bool', 'string',)
   
   
-  def __init__(self, col_names=None, col_types=None, **kwargs):
+  def __init__(self, col_names=[], col_types=None, **kwargs):
+
     self.col_names=list(col_names)
     self.comment=''
     self.name=''
diff --git a/modules/base/tests/test_table.py b/modules/base/tests/test_table.py
index 731acc185d13a99d523fce617b0fd306ce61f42c..3cacb6b9fc8f5b54b711e74974eaedb1e45d2a6c 100644
--- a/modules/base/tests/test_table.py
+++ b/modules/base/tests/test_table.py
@@ -218,7 +218,11 @@ class TestTable(unittest.TestCase):
     self.CompareColCount(tab, 0)
     self.CompareRowCount(tab, 0)
     self.assertRaises(ValueError, tab.GetColIndex, 'a')
-    
+  def testTableInitFromOldTable(self):
+    old_tab = Table(['a','b'],'ff')
+    new_tab = Table(old_tab.col_names,old_tab.col_types)
+    new_tab.AddCol('c','f')
+    self.assertEqual(old_tab.col_names, ['a','b'])
   def testGuessColumnType(self):
     self.assertEqual(GuessColumnType(['1', '1.3', '2']), 'float')
     self.assertEqual(GuessColumnType(['1', '1', '2']), 'int')