diff --git a/unittests/test_sync_graph.py b/unittests/test_sync_graph.py
index 1ec2b3b2944db8b7441e9ecb0c95ebafb05c7510..5d7363fbf88fe4fdf7e181b03662b7907083f9a4 100644
--- a/unittests/test_sync_graph.py
+++ b/unittests/test_sync_graph.py
@@ -76,6 +76,30 @@ def test_create_flat_list():
     assert b in flat
     assert c in flat
 
+    # Test for lists:
+    a = db.Record()
+    b = db.Record()
+    d = db.Record()
+    a.add_property(name="a", value=a)
+    a.add_property(name="list", value=[b, d])
+    flat = SyncGraph._create_flat_list([a])
+    assert len(flat) == 3
+    assert a in flat
+    assert b in flat
+    assert d in flat
+
+    c = db.Record()
+    c.add_property(name="a", value=a)
+    # This would cause a recursion error if it is not dealt with properly.
+    a.add_property(name="second_list", value=[b, d, c])
+    flat = SyncGraph._create_flat_list([c])
+    assert len(flat) == 4
+    assert a in flat
+    assert b in flat
+    assert c in flat
+    assert d in flat
+
+
 
 def test_create_reference_mapping():
     a = SyncNode(db.Record().add_parent("RT1"),