diff --git a/src/xpath.c b/src/xpath.c
index 15404c7..ed24eb1 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -3700,12 +3700,22 @@
     if (options & LYXP_SCNODE_ALL) {
         set_scnode_clear_ctx(set, LYXP_SET_SCNODE_ATOM_NODE);
 
-        LY_CHECK_RET(lyxp_set_scnode_insert_node(set, set->cur_scnode, LYXP_NODE_ELEM, NULL));
+        if (set->cur_scnode) {
+            LY_CHECK_RET(lyxp_set_scnode_insert_node(set, set->cur_scnode, LYXP_NODE_ELEM, NULL));
+        } else {
+            /* root node */
+            LY_CHECK_RET(lyxp_set_scnode_insert_node(set, NULL, set->root_type, NULL));
+        }
     } else {
         lyxp_set_free_content(set);
 
-        /* position is filled later */
-        set_insert_node(set, set->cur_node, 0, LYXP_NODE_ELEM, 0);
+        if (set->cur_node) {
+            /* position is filled later */
+            set_insert_node(set, set->cur_node, 0, LYXP_NODE_ELEM, 0);
+        } else {
+            /* root node */
+            set_insert_node(set, NULL, 0, set->root_type, 0);
+        }
     }
 
     return LY_SUCCESS;
