diff --git a/src/ast_path.cpp b/src/ast_path.cpp
index e3e45d4..0aa839c 100644
--- a/src/ast_path.cpp
+++ b/src/ast_path.cpp
@@ -165,7 +165,7 @@
         res = "/";
     }
 
-    for (const auto it : path.m_nodes) {
+    for (const auto& it : path.m_nodes) {
         if (it.m_prefix)
             res = joinPaths(res, it.m_prefix.value().m_name + ":" + boost::apply_visitor(nodeToDataStringVisitor(), it.m_suffix));
         else
@@ -182,7 +182,7 @@
         res = "/";
     }
 
-    for (const auto it : path.m_nodes) {
+    for (const auto& it : path.m_nodes) {
         if (it.m_prefix)
             res = joinPaths(res, it.m_prefix.value().m_name + ":" + boost::apply_visitor(nodeToSchemaStringVisitor(), it.m_suffix));
         else
diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 5a34e4f..2719bc6 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -334,7 +334,7 @@
         nodes = node->child_instantiables(0);
     }
 
-    for (const auto node : nodes) {
+    for (const auto& node : nodes) {
         if (node->module()->name() == "ietf-yang-library"sv)
             continue;
         // FIXME: This is a temporary fix to filter out RPC nodes in
@@ -367,9 +367,9 @@
 
     std::vector<libyang::S_Schema_Node> nodes;
 
-    for (const auto node : yangModule->data_instantiables(0)) {
+    for (const auto& node : yangModule->data_instantiables(0)) {
         if (recursion == Recursion::Recursive) {
-            for (const auto it : node->tree_dfs()) {
+            for (const auto& it : node->tree_dfs()) {
                 res.insert(it->path(LYS_PATH_FIRST_PREFIX));
             }
         } else {
