xpath BUGFIX child axis does not include siblings

Fixes #1938
diff --git a/src/xpath.c b/src/xpath.c
index 1136bad..919ab23 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -6584,7 +6584,7 @@
             }
 
             assert(scnode);
-            if (!lysc_data_parent(scnode)) {
+            if ((axis != LYXP_AXIS_CHILD) && !lysc_data_parent(scnode)) {
                 /* iterating over top-level nodes, find next */
                 while (lysc_data_parent(*iter)) {
                     *iter = lysc_data_parent(*iter);
diff --git a/tests/utests/basic/test_xpath.c b/tests/utests/basic/test_xpath.c
index 71252b9..6bacb27 100644
--- a/tests/utests/basic/test_xpath.c
+++ b/tests/utests/basic/test_xpath.c
@@ -96,6 +96,7 @@
     UTEST_SETUP;
 
     UTEST_ADD_MODULE(schema_a, LYS_IN_YANG, NULL, NULL);
+    lys_parse_path(UTEST_LYCTX, TESTS_DIR_MODULES_YANG "/ietf-interfaces@2014-05-08.yang", LYS_IN_YANG, NULL);
 
     return 0;
 }
@@ -485,6 +486,14 @@
     assert_int_equal(6, set->count);
     ly_set_free(set, NULL);
 
+    assert_int_equal(LY_SUCCESS, lys_find_xpath_atoms(UTEST_LYCTX, NULL, "/ietf-interfaces:interfaces/*", 0, &set));
+    assert_int_equal(2, set->count);
+    ly_set_free(set, NULL);
+
+    assert_int_equal(LY_SUCCESS, lys_find_xpath_atoms(UTEST_LYCTX, NULL, "/*", 0, &set));
+    assert_int_equal(13, set->count);
+    ly_set_free(set, NULL);
+
     /*
      * axes
      */