diff --git a/src/tree_data.c b/src/tree_data.c
index 01218b3..ca6b2e3 100644
--- a/src/tree_data.c
+++ b/src/tree_data.c
@@ -1514,7 +1514,7 @@
             node = lys_getnext_data(NULL, *first, NULL, iter, NULL);
             if (!node && ((struct lysc_node_choice *)iter)->dflt) {
                 /* create default case data */
-                LY_CHECK_RET(lyd_new_implicit_r(parent, first, (struct lysc_node *)((struct lysc_node_choice *)iter)->dflt,
+                LY_CHECK_RET(lyd_new_implicit_r(parent, first, &((struct lysc_node_choice *)iter)->dflt->node,
                         NULL, node_types, node_when, impl_opts, diff));
             } else if (node) {
                 /* create any default data in the existing case */
@@ -2500,7 +2500,7 @@
 
             if (!(node1->schema->flags & LYS_KEYLESS) && !(options & LYD_COMPARE_FULL_RECURSION)) {
                 /* lists with keys, their equivalence is based on their keys */
-                for (struct lysc_node *key = ((struct lysc_node_list *)node1->schema)->child;
+                for (const struct lysc_node *key = lysc_node_children(node1->schema, 0);
                         key && (key->flags & LYS_KEY);
                         key = key->next) {
                     if (lyd_compare_single(iter1, iter2, options)) {
@@ -2704,7 +2704,7 @@
         } else if ((dup->schema->nodetype == LYS_LIST) && !(dup->schema->flags & LYS_KEYLESS)) {
             /* always duplicate keys of a list */
             child = orig->child;
-            for (struct lysc_node *key = ((struct lysc_node_list *)dup->schema)->child;
+            for (const struct lysc_node *key = lysc_node_children(dup->schema, 0);
                     key && (key->flags & LYS_KEY);
                     key = key->next) {
                 if (!child) {
