diff --git a/src/tree_data_hash.c b/src/tree_data_hash.c
index 37d6337..33104cc 100644
--- a/src/tree_data_hash.c
+++ b/src/tree_data_hash.c
@@ -51,10 +51,16 @@
 
     if (node->schema->nodetype == LYS_LIST) {
         struct lyd_node_inner *list = (struct lyd_node_inner*)node;
-        if (((struct lysc_node_list*)node->schema)->keys) {
+        if (!(node->schema->flags & LYS_KEYLESS)) {
             /* list's hash is made of its keys */
-            unsigned int keys_count = LY_ARRAY_SIZE(((struct lysc_node_list*)node->schema)->keys);
-            for (iter = list->child; iter && keys_count; --keys_count, iter = iter->next) {
+            struct lysc_node *key;
+            for (key = ((struct lysc_node_list*)node->schema)->child, iter = list->child;
+                    key && key->nodetype == LYS_LEAF && (key->flags & LYS_KEY) && iter;
+                    key = key->next, iter = iter->next) {
+                for ( ; iter && iter->schema != key; iter = iter->next);
+                if (!iter) {
+                    break;
+                }
                 int dynamic = 0;
                 struct lysc_type *type = ((struct lysc_node_leaf*)iter->schema)->type;
                 const char *value = type->plugin->print(&((struct lyd_node_term*)iter)->value, LYD_JSON, json_print_get_prefix, NULL, &dynamic);
