diff --git a/src/caosdb/apiutils.py b/src/caosdb/apiutils.py
index f3195b8e152f0cb13e5dab3e3a449b7bb36623b4..6a6d2daaf074e85757edd9136b75b2edaa061d27 100644
--- a/src/caosdb/apiutils.py
+++ b/src/caosdb/apiutils.py
@@ -37,7 +37,7 @@ from subprocess import call
 from typing import Optional, Any, Dict, List
 
 from caosdb.common.datatype import (BOOLEAN, DATETIME, DOUBLE, FILE, INTEGER,
-                                    REFERENCE, TEXT, is_reference)
+                                    LIST, REFERENCE, TEXT, is_reference)
 from caosdb.common.models import (Container, Entity, File, Property, Query,
                                   Record, RecordType, execute_query,
                                   get_config, SPECIAL_ATTRIBUTES)
@@ -442,6 +442,16 @@ def merge_entities(entity_a: Entity, entity_b: Entity, merge_references_with_emp
                         setattr(entity_a.get_property(key), attribute,
                                 diff_r2["properties"][key][attribute])
                     elif force:
+                        if attribute == "value":
+                            # Very special case of a property that has a scalar
+                            # datatype being fored to a list value without
+                            # having been assigned the correct datatype before.
+                            if isinstance(diff_r2["properties"][key][attribute], list):
+                                if ((entity_a.get_property(key).datatype is not None) and
+                                        (not entity_a.get_property(key).datatype.startswith("LIST<"))):
+                                    entity_a.get_property(key).datatype = LIST(
+                                        entity_a.get_property(key).datatype)
+
                         setattr(entity_a.get_property(key), attribute,
                                 diff_r2["properties"][key][attribute])
                     else: