diff --git a/sample-management-custom/caosdb-server/scripting/bin/update_containers.py b/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
index 985a5d130ab3bce50e10c0d9820c610372d2b2b3..4739d5c4ea22ac6a613afbf468285d21e80d1fc8 100755
--- a/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
+++ b/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
@@ -211,64 +211,60 @@ def main():
                 logger.warning(f"There is no PI with ID or {get_entity_name('abbreviation_prop')} {pi}. Skipping.")
 
         # Collection(s)
-        if _value_in_row("Collection", row):
-            collection_rt = cached_get_entity_by(query="FIND RECORDTYPE Collection")
-            if not ";" in str(row["Collection"]):
-                collections = [row["Collection"]]
+        if _value_in_row(get_column_header_name("Collection"), row):
+            collection_rt = cached_get_entity_by(query=f"FIND RECORDTYPE '{get_entity_name('Collection')}'")
+            if not ";" in str(row[get_column_header_name("Collection")]):
+                collections = [row[get_column_header_name("Collection")]]
             else:
-                collections = [coll.strip() for coll in str(row["Collection"]).split(';')]
+                collections = [coll.strip() for coll in str(row[get_column_header_name("Collection")]).split(';')]
             prop_val = []
             for coll in collections:
                 try:
-                    query = f"FIND RECORD Collection WITH ID={int(coll)}"
+                    query = f"FIND '{collection_rt.name}' WITH ID={int(coll)}"
                 except ValueError:
-                    query = f"FIND RECORD Collection WITH name='{coll}'"
+                    query = f"FIND RECORD '{collection_rt.name}' WITH name='{coll}'"
                 try:
                     coll_rec = cached_get_entity_by(query=query)
                     prop_val.append(coll_rec.id)
                 except db.EmptyUniqueQueryError:
-                    logger.warning(f"There is no collection with name or BIS ID {coll}. Skipping.")
+                    logger.warning(f"There is no {collection_rt.name} with name or ID {coll}. Skipping.")
                     continue
             if prop_val:
-                if child.get_property("Collection") is not None:
-                    child.get_property("Collection").datatype = db.LIST("Collection")
-                    child.get_property("Collection").value = prop_val
+                if child.get_property(collection_rt.name) is not None:
+                    child.get_property(collection_rt.name).datatype = db.LIST(collection_rt.name)
+                    child.get_property(collection_rt.name).value = prop_val
                 else:
                     child.add_property(id=collection_rt.id, name=collection_rt.name, datatype=db.LIST(
-                        "Collection"), value=prop_val)
+                        collection_rt.name), value=prop_val)
 
         # Treat Container Contents
-        if _value_in_row("Container Contents", row):
-            if not (_value_in_row("PI", row) and _value_in_row("Collection", row)):
-                logger.error(
-                    f"Container Contents are given for container {child.id} but it "
-                    "is missing PI and/or Collection info. No updates have been performed."
-                )
-                return 1
-            contents_prop = cached_get_entity_by(query="FIND PROPERTY 'Container Contents'")
+        if _value_in_row(get_column_header_name("Container Contents"), row):
+            contents_prop = cached_get_entity_by(
+                query=f"FIND PROPERTY '{get_entity_name('Container Contents')}'"
+            )
             if child.get_property(contents_prop.name) is not None:
-                child.get_property(contents_prop.name).value = row["Container Contents"]
+                child.get_property(contents_prop.name).value = row[get_column_header_name("Container Contents")]
             else:
                 child.add_property(id=contents_prop.id, name=contents_prop.name,
-                                   value=row["Container Contents"])
+                                   value=row[get_column_header_name("Container Contents")])
 
         # Treat PDF Report
-        if _value_in_row("PDFReport", row):
-            pdf_id = row["PDFReport"]
+        if _value_in_row(get_column_header_name("PDFReport"), row):
+            pdf_id = row[get_column_header_name("PDFReport")]
             try:
                 pdf_id = int(pdf_id)
-                pdf_rec = cached_query(f"FIND FILE PDFReport WITH ID={pdf_id}")
+                pdf_rec = cached_query(f"FIND FILE {get_entity_name('PDFReport')} WITH ID={pdf_id}")
                 if not pdf_rec:
                     logger.warning(
-                        f"There is no PDFReport with Bis ID {pdf_id}, so no PDF is attached to container {child.id}.")
+                        f"There is no PDFReport with ID {pdf_id}, so no PDF is attached to container {child.id}.")
                 else:
-                    if child.get_property("PDFReport") is not None:
-                        child.get_property("PDFReport").value = pdf_id
+                    if child.get_property(get_entity_name("PDFReport")) is not None:
+                        child.get_property(get_property("PDFReport")).value = pdf_id
                     else:
                         child.add_property(id=pdf_rt.id, name=pdf_rt.name, value=pdf_id)
             except ValueError:
                 logger.warning(
-                    f"There is no valid Bis ID provided for container {child.id}."
+                    f"There is no valid ID provided for container {child.id}."
                     f"Provided was {pdf_id}. Skipping")
 
     # This is a workaround for weird merging errors in the
@@ -276,13 +272,13 @@ def main():
     # following release.
     merged = []
     for par in parent_containers:
-        if (data['BIS ID'] == par.id).any():
+        if (data[id_column_name] == par.id).any():
             # A container to be updated is used as another containers parent:
             child = child_containers.get_entity_by_id(par.id)
             # All parents have a child sample property with a value (which may
             # be empty). No child sample has this property, so the following is
             # okay without checks:
-            prop = par.get_property("Child container")
+            prop = par.get_property(child_container_prop.name)
             child.add_property(name=prop.name, id=prop.id, value=prop.value)
             merged.append(par)
     for par in merged: