diff --git a/src/caoscrawler/identifiable_adapters.py b/src/caoscrawler/identifiable_adapters.py
index 81396c66b9e3b08b2f375ffa26525ed1fa81baf0..d8c3ecf1cd21cb1efb2a6cb38c5222ba284f0087 100644
--- a/src/caoscrawler/identifiable_adapters.py
+++ b/src/caoscrawler/identifiable_adapters.py
@@ -288,72 +288,68 @@ startswith: bool, optional
             Identifiable, the identifiable for record.
         """
 
-        registered_identifiable = se.registered_identifiable
-
         property_name_list_A = []
         property_name_list_B = []
         identifiable_props = {}
         name = None
 
-        # TODO
-        # if registered_identifiable is None:
-        # raise ValueError("no register_identifiable")
+        if se.registered_identifiable is None:
+            raise ValueError("no register_identifiable")
 
-        if registered_identifiable is not None:
-            # fill the values:
-            for prop in registered_identifiable.properties:
-                if prop.name == "name":
-                    name = se.name
-                    continue
-                # problem: what happens with multi properties?
-                # case A: in the registered identifiable
-                # case B: in the identifiable
-
-                # treated elsewhere
-                if prop.name.lower() == "is_referenced_by":
-                    for el in identifiable_backrefs:
-                        assert isinstance(el, SyncNode)
-                    if len(identifiable_backrefs) == 0:
-                        raise MissingReferencingEntityError(
-                            f"Could not find referencing entities of type(s): {prop.value}\n"
-                            f"for registered identifiable:\n{registered_identifiable}\n"
-                            f"There were {len(identifiable_backrefs)} referencing entities to choose from.\n"
-                            f"This error can also occur in case of merge conflicts in the referencing entities."
-                        )
-                    elif len([e.id for e in identifiable_backrefs if el.id is None]) > 0:
-                        raise RuntimeError(
-                            f"Referencing entity has no id"
-                        )
-                    continue
+        # fill the values:
+        for prop in se.registered_identifiable.properties:
+            if prop.name == "name":
+                name = se.name
+                continue
+            # problem: what happens with multi properties?
+            # case A: in the registered identifiable
+            # case B: in the identifiable
 
-                options = [p.value for p in se.properties if p.name == prop.name]
-                if len(options) == 0:
-                    raise MissingIdentifyingProperty(
-                        f"The following record is missing an identifying property:\n"
-                        f"RECORD\n{se}\nIdentifying PROPERTY\n{prop.name}"
+            # treated elsewhere
+            if prop.name.lower() == "is_referenced_by":
+                for el in identifiable_backrefs:
+                    assert isinstance(el, SyncNode)
+                if len(identifiable_backrefs) == 0:
+                    raise MissingReferencingEntityError(
+                        f"Could not find referencing entities of type(s): {prop.value}\n"
+                        f"for registered identifiable:\n{se.registered_identifiable}\n"
+                        f"There were {len(identifiable_backrefs)} referencing entities to choose from.\n"
+                        f"This error can also occur in case of merge conflicts in the referencing entities."
                     )
-                for ii, el in enumerate(options):
-                    if isinstance(el, SyncNode):
-                        options[ii] = el.id
-                        if el.id is None:
-                            raise RuntimeError("Reference to unchecked in identifiable:\n"
-                                               f"{prop.name}:\n{el}")
-                    else:
-                        options[ii] = el
-                if not all([f == options[0] for f in options]):
-                    raise RuntimeError("differing prop values ")
-
-                identifiable_props[prop.name] = options[0]
-                property_name_list_A.append(prop.name)
-
-            # check for multi properties in the record:
-            for prop in property_name_list_A:
-                property_name_list_B.append(prop)
-            if (len(set(property_name_list_B)) != len(property_name_list_B) or len(
-                    set(property_name_list_A)) != len(property_name_list_A)):
-                raise RuntimeError(
-                    "Multi properties used in identifiables could cause unpredictable results and "
-                    "are not allowed. You might want to consider a Property with a list as value.")
+                elif len([e.id for e in identifiable_backrefs if el.id is None]) > 0:
+                    raise RuntimeError(
+                        f"Referencing entity has no id"
+                    )
+                continue
+
+            options = [p.value for p in se.properties if p.name == prop.name]
+            if len(options) == 0:
+                raise MissingIdentifyingProperty(
+                    f"The following record is missing an identifying property:\n"
+                    f"RECORD\n{se}\nIdentifying PROPERTY\n{prop.name}"
+                )
+            for ii, el in enumerate(options):
+                if isinstance(el, SyncNode):
+                    options[ii] = el.id
+                    if el.id is None:
+                        raise RuntimeError("Reference to unchecked in identifiable:\n"
+                                           f"{prop.name}:\n{el}")
+                else:
+                    options[ii] = el
+            if not all([f == options[0] for f in options]):
+                raise RuntimeError("differing prop values ")
+
+            identifiable_props[prop.name] = options[0]
+            property_name_list_A.append(prop.name)
+
+        # check for multi properties in the record:
+        for prop in property_name_list_A:
+            property_name_list_B.append(prop)
+        if (len(set(property_name_list_B)) != len(property_name_list_B) or len(
+                set(property_name_list_A)) != len(property_name_list_A)):
+            raise RuntimeError(
+                "Multi properties used in identifiables could cause unpredictable results and "
+                "are not allowed. You might want to consider a Property with a list as value.")
 
         # use the RecordType of the registered Identifiable if it exists
         # We do not use parents of Record because it might have multiple
@@ -361,8 +357,7 @@ startswith: bool, optional
             return Identifiable(
                 record_id=se.id,
                 path=se.path,
-                record_type=(registered_identifiable.parents[0].name
-                             if registered_identifiable else None),
+                record_type=se.registered_identifiable.parents[0].name,
                 name=name,
                 properties=identifiable_props,
                 backrefs=[e.id for e in identifiable_backrefs]