diff --git a/src/caosadvancedtools/export_related.py b/src/caosadvancedtools/export_related.py
index b9fa75d014952ad07fd8a91a733b702aae72c4c1..7a51af4e824b7831010c3bef9542471f3de344ae 100755
--- a/src/caosadvancedtools/export_related.py
+++ b/src/caosadvancedtools/export_related.py
@@ -33,7 +33,7 @@ import argparse
 import os
 
 import caosdb as db
-from caosdb.apiutils import retrieve_entities_with_ids
+from caosdb.apiutils import retrieve_entities_with_ids, apply_to_ids
 from caosdb.common.datatype import get_id_of_datatype, is_reference
 from lxml import etree
 
@@ -92,8 +92,8 @@ def recursively_collect_related(entity):
     return all_entities
 
 
-def invert_ids(entity):
-    entity.apply_to_ids(lambda x: x*-1)
+def invert_ids(entities):
+    apply_to_ids(entities, lambda x: x*-1)
 
 
 def main(rec_id):
@@ -113,8 +113,7 @@ def main(rec_id):
             except BaseException:
                 print("Failed download of:", target)
 
-    for ent in cont:
-        invert_ids(ent)
+    invert_ids(cont)
     xml = etree.tounicode(cont.to_xml(
         local_serialization=True), pretty_print=True)
 
diff --git a/src/caosadvancedtools/import_from_xml.py b/src/caosadvancedtools/import_from_xml.py
index 9b5c7fcf824a752a9848917e743997d0f5937394..565e6b6ae74d51ef910e53f23a2a483bed988890 100755
--- a/src/caosadvancedtools/import_from_xml.py
+++ b/src/caosadvancedtools/import_from_xml.py
@@ -32,6 +32,7 @@ import os
 from tempfile import NamedTemporaryFile
 
 import caosdb as db
+from caosdb.apiutils import apply_to_ids
 from caosmodels.data_model import DataModel
 
 
@@ -102,9 +103,7 @@ def main(filename, rerun=False):
             return old
 
     # set the ids of already inserted entities in the container
-
-    for el in cont:
-        el.apply_to_ids(replace_by_new)
+    apply_to_ids(cont, replace_by_new)
 
     cont.insert(unique=False)