diff --git a/src/common.c b/src/common.c
index 76f3b84..3c36baa 100644
--- a/src/common.c
+++ b/src/common.c
@@ -425,9 +425,9 @@
 }
 
 LY_ERR
-ly_parse_instance_predicate(const char **pred, size_t limit,
-                             const char **prefix, size_t *prefix_len, const char **id, size_t *id_len, const char **value, size_t *value_len,
-                             const char **errmsg)
+ly_parse_instance_predicate(const char **pred, size_t limit, LYD_FORMAT format,
+                            const char **prefix, size_t *prefix_len, const char **id, size_t *id_len, const char **value, size_t *value_len,
+                            const char **errmsg)
 {
     LY_ERR ret = LY_EVALID;
     const char *in = *pred;
@@ -473,6 +473,11 @@
             *errmsg = "Invalid node-identifier.";
             goto error;
         }
+        if (format == LYD_XML && !(*prefix)) {
+            /* all node names MUST be qualified with explicit namespace prefix */
+            *errmsg = "Missing prefix of a node name.";
+            goto error;
+        }
         offset = in - *pred;
         in = *pred;
         expr = 2;
@@ -500,7 +505,7 @@
             goto error;
         }
         *value = &in[offset];
-        for (;offset < limit && in[offset] != quot; offset++);
+        for (;offset < limit && (in[offset] != quot || (offset && in[offset - 1] == '\\')); offset++);
         if (in[offset] == quot) {
             *value_len = &in[offset] - *value;
             offset++;
