diff --git a/unittests/test_high_level_api.py b/unittests/test_high_level_api.py
index 43629ee8d34b30b0dab10ff6d749743b5c6a2737..6e8a5ac9b3c9b024a496a6f06907ecca75eec29e 100644
--- a/unittests/test_high_level_api.py
+++ b/unittests/test_high_level_api.py
@@ -552,9 +552,9 @@ def test_deserialization():
     assert obj_des.has_parent(CaosDBPythonUnresolvedParent(name="bla"))
     print(obj)
     print(obj_des)
-    assert obj.serialize() == obj_des.serialize()
-
 
+    # This test is very strict, and might fail if order in dictionary is not preserved:
+    assert obj.serialize() == obj_des.serialize()
 
     f = db.File()
     f.file = "bla.test"
@@ -566,4 +566,22 @@ def test_deserialization():
     obj_des = CaosDBPythonEntity.deserialize(serial)
     assert obj_des.file == "bla.test"
     assert obj_des.path == "/test/n/bla.test"
-    
+
+
+    r = db.Record(id=17, name="test")
+    r.add_parent("bla")
+    r.add_property(name="a", value=42)
+    r.add_property(name="b", value="test")
+
+    ref = db.Record(id=28)
+    ref.add_parent("bla1")
+    ref.add_parent("bla2")
+    ref.add_property(name="c", value=5,
+                     unit="s", description="description missing")
+    r.add_property(name="ref", value=ref)
+
+    obj = convert_to_python_object(r)
+
+    serial = obj.serialize()
+    obj_des = CaosDBPythonEntity.deserialize(serial)
+    assert obj.serialize() == obj_des.serialize()