diff --git a/integrationtests/example_hdf5cfood.py b/integrationtests/example_hdf5cfood.py
index f369f852a294d8819720e74ad4f849082b108653..5485402d2042b2055a087b99abcba409095a7c70 100644
--- a/integrationtests/example_hdf5cfood.py
+++ b/integrationtests/example_hdf5cfood.py
@@ -34,7 +34,9 @@ from caosadvancedtools.scifolder.generic_pattern import readme_pattern
 
 
 class ExampleH5CFood(H5CFood):
-    root_name = "ExampleH5"
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.root_name = "ExampleH5"
 
     @staticmethod
     def get_re():
diff --git a/integrationtests/insert_model.py b/integrationtests/insert_model.py
index f57ea440d4a7343a5a33c8deeaa8fa79b62d1e8e..ae3dd7701b44f5008bd976d81f8ecc8d9a02bf89 100755
--- a/integrationtests/insert_model.py
+++ b/integrationtests/insert_model.py
@@ -15,8 +15,8 @@ if len(db.execute_query("FIND Property alias")) == 0:
 
 h5model = db.Container()
 h5file = h5py.File('extroot/ExperimentalData/2010_TestProject/2019-02-03/hdf5_dummy_file.hdf5', 'r')
-H5CFood.create_structure(h5file, create_recordTypes=True, collection=h5model)
-h5model[0].name = "ExampleH5"
+H5CFood.create_structure(h5file, create_recordTypes=True, collection=h5model,
+                         root_name="ExampleH5")
 print(h5model)
 h5model = DataModel(h5model)
 h5model.sync_data_model(noquestion=True)
diff --git a/src/caosadvancedtools/cfoods/h5.py b/src/caosadvancedtools/cfoods/h5.py
index 0e56da71d14d0ce643caab16a1846a36e5917c06..543ac327871fb7f5c79d68e638af1a47b62d83f6 100644
--- a/src/caosadvancedtools/cfoods/h5.py
+++ b/src/caosadvancedtools/cfoods/h5.py
@@ -112,20 +112,17 @@ class H5CFood(AbstractFileCFood):
 
     Attributes
     ----------
-    root_name : str, default "root"
-        Type of the root Record (the Record corresponding to the root node in
-        the HDF5 file)
     h5file : h5py.File, default None
         Name of the hdf5-file to read
     """
 
     # to be overwritten by subclasses
-    root_name = "root"
 
     def __init__(self, *args, **kwargs):
         """CFood which consumes HDF5 files."""
         super().__init__(*args, **kwargs)
         self.h5file = None
+        self.root_name = "root"
         self.hdf5Container = db.Container()
         self.em = EntityMapping()
 
@@ -152,7 +149,8 @@ class H5CFood(AbstractFileCFood):
         """
         # manually create the identifiable root element: self.identifiable_root
         self.structure = self.create_structure(self.h5file,
-                                               special_treatment=self.special_treatment)
+                                               special_treatment=self.special_treatment,
+                                               root_name=self.root_name)
 
     def update_identifiables(self):
         """Check if the identifiables need to be updated.
@@ -198,7 +196,7 @@ class H5CFood(AbstractFileCFood):
 
     @classmethod
     def create_structure(cls, h5obj, create_recordTypes=False, collection=None,
-                         special_treatment=None):
+                         special_treatment=None, root_name="root"):
         """Create Records and Record types from a given hdf5-object for all
         items in the tree. Attributes are added as properties, the
         values only if the dimension < 2.
@@ -206,7 +204,11 @@ class H5CFood(AbstractFileCFood):
         Parameters
         ----------
         h5obj : h5py.File
-            a hdf5-file object
+                a hdf5-file object
+
+        root_name : name that is used instead of '/'
+                    Type of the root Record (the Record corresponding to
+                    the root node in the HDF5 file)
 
         Returns
         -------
@@ -223,7 +225,7 @@ class H5CFood(AbstractFileCFood):
             def special_treatment(x, y, z): return x, y, z
 
         if h5obj.name == "/":
-            name_without_path = cls.root_name
+            name_without_path = root_name
         else:
             name_without_path = h5obj.name.split("/")[-1]