diff --git a/src/xpath.c b/src/xpath.c
index 7c3eb59..1fd0e9d 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -7171,8 +7171,8 @@
             }
             if (i == -1) {
                 path = lysc_path(set->cur_scnode, LYSC_PATH_LOG, NULL, 0);
-                LOGWRN(set->ctx, "Schema node \"%.*s\" not found (%.*s) with context node \"%s\".",
-                        ncname_len, ncname, ncname - exp->expr, exp->expr, path);
+                LOGWRN(set->ctx, "Schema node \"%.*s\" not found (\"%.*s\") with context node \"%s\".",
+                        ncname_len, ncname, (ncname - exp->expr) + ncname_len, exp->expr, path);
                 free(path);
             }
         } else {
diff --git a/tests/utests/schema/test_schema_common.c b/tests/utests/schema/test_schema_common.c
index 677a515..dabf106 100644
--- a/tests/utests/schema/test_schema_common.c
+++ b/tests/utests/schema/test_schema_common.c
@@ -389,7 +389,7 @@
             "}"
         "}";
     assert_int_equal(lys_parse_mem(ctx, str, LYS_IN_YANG, NULL), LY_SUCCESS);
-    logbuf_assert("Schema node \"l\" not found (../../cont/) with context node \"/b:cont2/l2\".");
+    logbuf_assert("Schema node \"l\" not found (\"../../cont/l\") with context node \"/b:cont2/l2\".");
     logbuf_clean();
 
     /* state -> config */
@@ -549,7 +549,7 @@
             "}"
         "}";
     assert_int_equal(lys_parse_mem(ctx, str, LYS_IN_YANG, NULL), LY_SUCCESS);
-    logbuf_assert("Schema node \"l\" not found (../) with context node \"/h:rp/l2\".");
+    logbuf_assert("Schema node \"l\" not found (\"../l\") with context node \"/h:rp/l2\".");
     logbuf_clean();
 
     /* rpc input -> notif leafref */
@@ -596,7 +596,7 @@
             "}"
         "}";
     assert_int_equal(lys_parse_mem(ctx, str, LYS_IN_YANG, NULL), LY_SUCCESS);
-    logbuf_assert("Schema node \"l\" not found (/notif/) with context node \"/i:rp/l2\".");
+    logbuf_assert("Schema node \"l\" not found (\"/notif/l\") with context node \"/i:rp/l2\".");
     logbuf_clean();
 
     /* action output -> state */
@@ -693,7 +693,7 @@
             "}"
         "}";
     assert_int_equal(lys_parse_mem(ctx, str, LYS_IN_YANG, NULL), LY_SUCCESS);
-    logbuf_assert("Schema node \"l\" not found (/cont/ll/act/) with context node \"/k:cont/ll/act/l2\".");
+    logbuf_assert("Schema node \"l\" not found (\"/cont/ll/act/l\") with context node \"/k:cont/ll/act/l2\".");
     logbuf_clean();
 
     *state = NULL;
