diff --git a/tests/src/test_parser_yang.c b/tests/src/test_parser_yang.c
index e6fec3c..db73f63 100644
--- a/tests/src/test_parser_yang.c
+++ b/tests/src/test_parser_yang.c
@@ -725,7 +725,7 @@
     TEST_NODE(LYS_ANYXML, "anyxml test;}", "test");
     /* augment */
     TEST_GENERIC("augment /somepath;}", mod->augments,
-                 assert_string_equal("/somepath", LY_ARRAY_INDEX(mod->augments, 0, struct lysp_augment)->nodeid));
+                 assert_string_equal("/somepath", mod->augments[0].nodeid));
     /* choice */
     TEST_NODE(LYS_CHOICE, "choice test;}", "test");
     /* contact 0..1 */
@@ -738,22 +738,22 @@
                  assert_string_equal("some description", mod->dsc));
     /* deviation */
     TEST_GENERIC("deviation /somepath {deviate not-supported;}}", mod->deviations,
-                 assert_string_equal("/somepath", LY_ARRAY_INDEX(mod->deviations, 0, struct lysp_deviation)->nodeid));
+                 assert_string_equal("/somepath", mod->deviations[0].nodeid));
     /* extension */
     TEST_GENERIC("extension test;}", mod->extensions,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->extensions, 0, struct lysp_ext)->name));
+                 assert_string_equal("test", mod->extensions[0].name));
     /* feature */
     TEST_GENERIC("feature test;}", mod->features,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->features, 0, struct lysp_feature)->name));
+                 assert_string_equal("test", mod->features[0].name));
     /* grouping */
     TEST_GENERIC("grouping grp;}", mod->groupings,
-                 assert_string_equal("grp", LY_ARRAY_INDEX(mod->groupings, 0, struct lysp_grp)->name));
+                 assert_string_equal("grp", mod->groupings[0].name));
     /* identity */
     TEST_GENERIC("identity test;}", mod->identities,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->identities, 0, struct lysp_ident)->name));
+                 assert_string_equal("test", mod->identities[0].name));
     /* import */
     TEST_GENERIC("import test {prefix z;}}", mod->imports,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->imports, 0, struct lysp_import)->name));
+                 assert_string_equal("test", mod->imports[0].name));
 
     /* import - prefix collision */
     str = SCHEMA_BEGINNING "import test {prefix x;}}";
@@ -767,7 +767,7 @@
 
     /* include */
     TEST_GENERIC("include test;}", mod->includes,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->includes, 0, struct lysp_include)->name));
+                 assert_string_equal("test", mod->includes[0].name));
     /* leaf */
     TEST_NODE(LYS_LEAF, "leaf test {type string;}}", "test");
     /* leaf-list */
@@ -776,7 +776,7 @@
     TEST_NODE(LYS_LIST, "list test {key a;leaf a {type string;}}}", "test");
     /* notification */
     TEST_GENERIC("notification test;}", mod->notifs,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->notifs, 0, struct lysp_notif)->name));
+                 assert_string_equal("test", mod->notifs[0].name));
     /* organization 0..1 */
     TEST_GENERIC("organization \"CESNET a.l.e.\";}", mod->org,
                  assert_string_equal("CESNET a.l.e.", mod->org));
@@ -785,13 +785,13 @@
                  assert_string_equal("RFC7950", mod->ref));
     /* revision */
     TEST_GENERIC("revision 2018-10-12;}", mod->revs,
-                 assert_string_equal("2018-10-12", LY_ARRAY_INDEX(mod->revs, 0, struct lysp_revision)->rev));
+                 assert_string_equal("2018-10-12", mod->revs[0].rev));
     /* rpc */
     TEST_GENERIC("rpc test;}", mod->rpcs,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->rpcs, 0, struct lysp_action)->name));
+                 assert_string_equal("test", mod->rpcs[0].name));
     /* typedef */
     TEST_GENERIC("typedef test{type string;}}", mod->typedefs,
-                 assert_string_equal("test", LY_ARRAY_INDEX(mod->typedefs, 0, struct lysp_tpdf)->name));
+                 assert_string_equal("test", mod->typedefs[0].name));
     /* uses */
     TEST_NODE(LYS_USES, "uses test;}", "test");
     /* yang-version */
@@ -814,8 +814,8 @@
 
     /* extensions */
     TEST_GENERIC("prefix:test;}", mod->exts,
-                 assert_string_equal("prefix:test", LY_ARRAY_INDEX(mod->exts, 0, struct lysp_ext_instance)->name);
-                 assert_int_equal(LYEXT_SUBSTMT_SELF, LY_ARRAY_INDEX(mod->exts, 0, struct lysp_ext_instance)->insubstmt));
+                 assert_string_equal("prefix:test", mod->exts[0].name);
+                 assert_int_equal(LYEXT_SUBSTMT_SELF, mod->exts[0].insubstmt));
     mod = mod_renew(&ctx, mod, 0);
 
     /* invalid substatement */
diff --git a/tests/src/test_tree_schema_compile.c b/tests/src/test_tree_schema_compile.c
index 8e72276..79c7c42 100644
--- a/tests/src/test_tree_schema_compile.c
+++ b/tests/src/test_tree_schema_compile.c
@@ -94,14 +94,14 @@
     /* features */
     assert_non_null(mod.compiled->features);
     assert_int_equal(2, LY_ARRAY_SIZE(mod.compiled->features));
-    f = LY_ARRAY_INDEX(mod.compiled->features, 1);
+    f = &mod.compiled->features[1];
     assert_non_null(f->iffeatures);
     assert_int_equal(1, LY_ARRAY_SIZE(f->iffeatures));
-    iff = LY_ARRAY_INDEX(f->iffeatures, 0);
+    iff = &f->iffeatures[0];
     assert_non_null(iff->expr);
     assert_non_null(iff->features);
     assert_int_equal(1, LY_ARRAY_SIZE(iff->features));
-    assert_ptr_equal(LY_ARRAY_INDEX(mod.compiled->features, 0), *LY_ARRAY_INDEX(iff->features, 0, struct lysc_feature*));
+    assert_ptr_equal(&mod.compiled->features[0], iff->features[0]);
 
     lysc_module_free(mod.compiled, NULL);
 
@@ -153,17 +153,17 @@
     }
     /* enable f1 */
     assert_int_equal(LY_SUCCESS, lys_feature_enable(&mod, "f1"));
-    f1 = LY_ARRAY_INDEX(mod.compiled->features, 0);
+    f1 = &mod.compiled->features[0];
     assert_int_equal(1, lysc_feature_value(f1));
 
     /* enable f4 */
-    f = LY_ARRAY_INDEX(mod.compiled->features, 3);
+    f = &mod.compiled->features[3];
     assert_int_equal(0, lysc_feature_value(f));
     assert_int_equal(LY_SUCCESS, lys_feature_enable(&mod, "f4"));
     assert_int_equal(1, lysc_feature_value(f));
 
     /* enable f5 - no possible since f2 is disabled */
-    f = LY_ARRAY_INDEX(mod.compiled->features, 4);
+    f = &mod.compiled->features[4];
     assert_int_equal(0, lysc_feature_value(f));
     assert_int_equal(LY_EDENIED, lys_feature_enable(&mod, "f5"));
     logbuf_assert("Feature \"f5\" cannot be enabled since it is disabled by its if-feature condition(s).");
@@ -175,7 +175,7 @@
     assert_int_equal(1, lysc_feature_value(f));
 
     /* f1 is enabled, so f6 cannot be enabled */
-    f = LY_ARRAY_INDEX(mod.compiled->features, 5);
+    f = &mod.compiled->features[5];
     assert_int_equal(0, lysc_feature_value(f));
     assert_int_equal(LY_EDENIED, lys_feature_enable(&mod, "f6"));
     logbuf_assert("Feature \"f6\" cannot be enabled since it is disabled by its if-feature condition(s).");
@@ -183,19 +183,17 @@
 
     /* so disable f1 - f5 will became also disabled */
     assert_int_equal(1, lysc_feature_value(f1));
-    f = LY_ARRAY_INDEX(mod.compiled->features, 4);
     assert_int_equal(LY_SUCCESS, lys_feature_disable(&mod, "f1"));
     assert_int_equal(0, lysc_feature_value(f1));
-    assert_int_equal(0, lysc_feature_value(f));
+    assert_int_equal(0, lysc_feature_value(&mod.compiled->features[4]));
     /* while f4 is stille enabled */
-    assert_int_equal(1, lysc_feature_value(LY_ARRAY_INDEX(mod.compiled->features, 3)));
+    assert_int_equal(1, lysc_feature_value(&mod.compiled->features[3]));
     /* and finally f6 can be enabled */
-    f = LY_ARRAY_INDEX(mod.compiled->features, 5);
     assert_int_equal(LY_SUCCESS, lys_feature_enable(&mod, "f6"));
-    assert_int_equal(1, lysc_feature_value(f));
+    assert_int_equal(1, lysc_feature_value(&mod.compiled->features[5]));
 
     /* complex evaluation of f7: f1 and f3 are disabled, while f2 is enabled */
-    assert_int_equal(1, lysc_iffeature_value(LY_ARRAY_INDEX(LY_ARRAY_INDEX(mod.compiled->features, 6, struct lysc_feature)->iffeatures, 0)));
+    assert_int_equal(1, lysc_iffeature_value(&mod.compiled->features[6].iffeatures[0]));
 
     lysc_module_free(mod.compiled, NULL);
     lysp_module_free(mod.parsed);
diff --git a/tests/src/test_tree_schema_helpers.c b/tests/src/test_tree_schema_helpers.c
index 67f4138..3dc7d7c 100644
--- a/tests/src/test_tree_schema_helpers.c
+++ b/tests/src/test_tree_schema_helpers.c
@@ -90,20 +90,20 @@
     logbuf_assert("");
 
     /* revisions are stored in wrong order - the newest is the last */
-    LYSP_ARRAY_NEW_RET(NULL, revs, rev,);
+    LY_ARRAY_NEW_RET(NULL, revs, rev,);
     strcpy(rev->rev, "2018-01-01");
-    LYSP_ARRAY_NEW_RET(NULL, revs, rev,);
+    LY_ARRAY_NEW_RET(NULL, revs, rev,);
     strcpy(rev->rev, "2018-12-31");
 
     assert_int_equal(2, LY_ARRAY_SIZE(revs));
-    assert_string_equal("2018-01-01", LY_ARRAY_INDEX(revs, 0));
-    assert_string_equal("2018-12-31", LY_ARRAY_INDEX(revs, 1));
+    assert_string_equal("2018-01-01", &revs[0]);
+    assert_string_equal("2018-12-31", &revs[1]);
     /* the order should be fixed, so the newest revision will be the first in the array */
     lysp_sort_revisions(revs);
-    assert_string_equal("2018-12-31", LY_ARRAY_INDEX(revs, 0));
-    assert_string_equal("2018-01-01", LY_ARRAY_INDEX(revs, 1));
+    assert_string_equal("2018-12-31", &revs[0]);
+    assert_string_equal("2018-01-01", &revs[1]);
 
-    free(revs);
+    LY_ARRAY_FREE(revs);
 }
 
 int main(void)
