diff --git a/src/caosdb/apiutils.py b/src/caosdb/apiutils.py
index e4d4df25483117e2149b607af556853d322e476a..f86ea010cf7e1e8797bce23c83c22436ebc07de3 100644
--- a/src/caosdb/apiutils.py
+++ b/src/caosdb/apiutils.py
@@ -712,19 +712,17 @@ def copy_entity(entity: Entity):
     return new
 
 
-def merge_entities(entity_a: Entity, entity_b: Entity):
+def merge_entities_in_place(entity_a: Entity, entity_b: Entity):
     """
-    Create a new entity which is a copy of entity_a and merge it with entity_b such that
-    it compare_entities would report zero differences.
+    Merge entity_b into entity_a such that they have the same parents and properties.
     """
-    new = copy_entity(entity_a)
 
     # Compare both entities:
     diff_r1, diff_r2 = compare_entities(entity_a, entity_b)
 
     # Go through the comparison and try to apply changes to entity_a:
     for key in diff_r2["parents"]:
-        new.add_parent(entity_b.get_parent(key))
+        entity_a.add_parent(entity_b.get_parent(key))
 
     for key in diff_r2["properties"]:
         if key in diff_r1["properties"]:
@@ -734,24 +732,24 @@ def merge_entities(entity_a: Entity, entity_b: Entity):
             
             for attribute in ("datatype", "unit", "value"):
                 if diff_r1["properties"][key][attribute] is None:
-                    setattr(new.get_property(key), attribute,
+                    setattr(entity_a.get_property(key), attribute,
                             diff_r2["properties"][key][attribute])
                 else:
                     raise RuntimeError("Merge conflict.")
         else:
-            new.add_property(
+            entity_a.add_property(
                 entity_b.get_property(key),
                 importance=entity_b.get_importance(key))
 
     for special_attribute in ("name", "description"):
-        sa_new = getattr(new, special_attribute)
+        sa_a = getattr(entity_a, special_attribute)
         sa_b = getattr(entity_b, special_attribute)
-        if sa_new != sa_b:
-            if sa_new is None:
-                setattr(new, special_attribute, sa_b)
+        if sa_a != sa_b:
+            if sa_a is None:
+                setattr(entity_a, special_attribute, sa_b)
             else:
                 raise RuntimeError("Merge conflict.")
-    return new
+    return entity_a
 
 
 def describe_diff(olddiff, newdiff, name=None, as_update=True):