diff --git a/src/static_schema.cpp b/src/static_schema.cpp
index 4964e8e..3eb42f6 100644
--- a/src/static_schema.cpp
+++ b/src/static_schema.cpp
@@ -116,17 +116,9 @@
 std::string lastNodeOfSchemaPath(const std::string& path)
 {
     std::string res = path;
-    auto pos = res.find_last_of('/');
-    if (pos == 0) { // path had only one path fragment - "/something:something"
-        res.erase(0, 1);
-        return res;
+    if (auto pos = res.find_last_of('/'); pos != res.npos) {
+        res.erase(0, pos + 1);
     }
-    if (pos != res.npos) { // path had more fragments
-        res.erase(0, pos);
-        return res;
-    }
-
-    // path was empty
     return res;
 }
 
diff --git a/tests/leaf_editing.cpp b/tests/leaf_editing.cpp
index ca720c5..9ce5c35 100644
--- a/tests/leaf_editing.cpp
+++ b/tests/leaf_editing.cpp
@@ -52,6 +52,7 @@
     schema->addLeaf("/mod:list", "mod:leafInList", yang::String{});
     schema->addLeaf("/", "mod:refToString", yang::LeafRef{"/mod:leafString", std::make_unique<yang::LeafDataType>(schema->leafType("/mod:leafString"))});
     schema->addLeaf("/", "mod:refToInt8", yang::LeafRef{"/mod:leafInt8", std::make_unique<yang::LeafDataType>(schema->leafType("/mod:leafInt8"))});
+    schema->addLeaf("/", "mod:refToLeafInCont", yang::LeafRef{"/mod:contA/identInCont", std::make_unique<yang::LeafDataType>(schema->leafType("/mod:contA/mod:identInCont"))});
     Parser parser(schema);
     std::string input;
     std::ostringstream errorStream;
@@ -314,6 +315,13 @@
                     expected.m_path.m_nodes.push_back(dataNode_{module_{"mod"}, leaf_("refToInt8")});
                     expected.m_data = int8_t{42};
                 }
+
+                SECTION("refToLeafInCont")
+                {
+                    input = "set mod:refToLeafInCont pizza";
+                    expected.m_path.m_nodes.push_back(dataNode_{module_{"mod"}, leaf_("refToLeafInCont")});
+                    expected.m_data = identityRef_{"pizza"};
+                }
             }
         }
 
