diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 6370d3b..48a8c79 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -137,7 +137,7 @@
     return keys;
 }
 
-std::set<enum_> enumValues(const libyang::Type& type)
+std::set<enum_> enumValues(const libyang::types::Type& type)
 {
     auto enums = type.asEnum().items();
     std::set<enum_> enumSet;
@@ -145,7 +145,7 @@
     return enumSet;
 }
 
-std::set<identityRef_> validIdentities(const libyang::Type& type)
+std::set<identityRef_> validIdentities(const libyang::types::Type& type)
 {
     std::set<identityRef_> identSet;
 
@@ -167,7 +167,7 @@
     return identSet;
 }
 
-std::string leafrefPath(const libyang::Type& type)
+std::string leafrefPath(const libyang::types::Type& type)
 {
     return std::string{type.asLeafRef().path()};
 }
@@ -178,8 +178,8 @@
     using namespace std::string_literals;
     auto leaf = std::make_shared<NodeType>(node);
     auto leafUnits = leaf->units();
-    std::function<yang::TypeInfo(const libyang::Type&)> resolveType;
-    resolveType = [&resolveType, leaf, leafUnits](const libyang::Type& type) -> yang::TypeInfo {
+    std::function<yang::TypeInfo(const libyang::types::Type&)> resolveType;
+    resolveType = [&resolveType, leaf, leafUnits](const libyang::types::Type& type) -> yang::TypeInfo {
         yang::LeafDataType resType;
         switch (type.base()) {
         case libyang::LeafBaseType::String:
