diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 266f917..b964d31 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -214,8 +214,10 @@
 
     for (auto base : resolveTypedef<ResolveMode::Identity>(type)) { // Iterate over all bases
         // Iterate over derived identities (this is recursive!)
-        for (auto derived : base->der()->schema()) {
-            identSet.emplace(derived->module()->name(), derived->name());
+        if (auto der = base->der()) {
+            for (auto derived : der->schema()) {
+                identSet.emplace(derived->module()->name(), derived->name());
+            }
         }
     }
 
diff --git a/tests/yang.cpp b/tests/yang.cpp
index 85df376..ed4da88 100644
--- a/tests/yang.cpp
+++ b/tests/yang.cpp
@@ -59,6 +59,15 @@
 
     include sub-module;
 
+    identity identNoderived {
+    }
+
+    leaf leafNoValidIdent {
+        type identityref {
+            base "identNoderived";
+        }
+    }
+
     identity drink {
     }
 
@@ -782,6 +791,12 @@
                 }};
             }
 
+            SECTION("leafNoValidIdent")
+            {
+                node.first = "example-schema";
+                node.second = "leafNoValidIdent";
+                type = yang::IdentityRef{{}};
+            }
 
             REQUIRE(ys.leafType(path, node) == yang::TypeInfo(type, std::nullopt, expectedDescription));
         }
@@ -830,7 +845,8 @@
                         {"example-schema"s, "addresses"},
                         {"example-schema"s, "subLeaf"},
                         {"example-schema"s, "flagBits"},
-                        {"example-schema"s, "leafFoodTypedef"}};
+                        {"example-schema"s, "leafFoodTypedef"},
+                        {"example-schema"s, "leafNoValidIdent"}};
                 }
 
                 SECTION("example-schema:a")
@@ -898,6 +914,7 @@
                         {"example-schema"s, "leafInt32"},
                         {"example-schema"s, "leafInt64"},
                         {"example-schema"s, "leafInt8"},
+                        {"example-schema"s, "leafNoValidIdent"},
                         {"example-schema"s, "leafString"},
                         {"example-schema"s, "leafUint16"},
                         {"example-schema"s, "leafUint32"},
@@ -965,6 +982,7 @@
                         {boost::none, "/example-schema:leafInt32"},
                         {boost::none, "/example-schema:leafInt64"},
                         {boost::none, "/example-schema:leafInt8"},
+                        {boost::none, "/example-schema:leafNoValidIdent"},
                         {boost::none, "/example-schema:leafString"},
                         {boost::none, "/example-schema:leafUint16"},
                         {boost::none, "/example-schema:leafUint32"},
