diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py
index 7ec5d4ffa6a14ecc8dfed52957a6df10e1423137..54b25185db948bcd4a3a92b488919e4bfe7c4920 100644
--- a/src/caosadvancedtools/table_converter.py
+++ b/src/caosadvancedtools/table_converter.py
@@ -25,6 +25,7 @@ import re
 import sys
 
 import caosdb as db
+import numpy as np
 import pandas as pd
 
 
@@ -64,9 +65,14 @@ def to_table(container):
         if set([p.name for p in rec.parents]) != rts:
             raise ValueError("Parents differ")
 
-        for p in rec.get_properties():
-
-            df.at[ii, generate_property_name(p)] = p.value
+        for prop in rec.get_properties():
+            propname = generate_property_name(prop)
+            if isinstance(prop.value, list):
+                if propname not in df:
+                    df[propname] = pd.Series(dtype=object)
+                elif df[propname].dtype != np.dtypes.ObjectDType:
+                    df[propname] = df[propname].astype(object)
+            df.at[ii, propname] = prop.value
 
     return df
 
diff --git a/unittests/test_table_converter.py b/unittests/test_table_converter.py
index 6a3b0dda45abab28198f29a5b013f25cd0920524..460f88af312048fffd20d6ada9afaa2b44b532d6 100644
--- a/unittests/test_table_converter.py
+++ b/unittests/test_table_converter.py
@@ -69,10 +69,14 @@ class TableTest(unittest.TestCase):
         r1 = db.Record()
         r1.add_parent("no1")
         r1.add_property("p1")
+        r1.add_property("p3", value=23)
+        r1.add_property("p4", value=[1])
         r2 = db.Record()
         r2.add_parent("no1")
         r2.add_property("p1")
-        r2.add_property("p2", value=[1, 2])
+        r2.add_property("p2", value=[20, 21])
+        r2.add_property("p3", value=[30, 31])
+        r2.add_property("p4", value=[40.0, 41.0])
         c = db.Container()
         c.extend([r1, r2])
         to_table(c)