diff --git a/tests/utests/extensions/test_metadata.c b/tests/utests/extensions/test_metadata.c
index f8353d2..e206d22 100644
--- a/tests/utests/extensions/test_metadata.c
+++ b/tests/utests/extensions/test_metadata.c
@@ -122,7 +122,7 @@
             "  units meters;"
             "}}";
     assert_non_null(mod = lys_parse_mem(s->ctx, data, LYS_IN_YANG));
-    assert_int_equal(1, LY_ARRAY_SIZE(mod->compiled->exts));
+    assert_int_equal(1, LY_ARRAY_COUNT(mod->compiled->exts));
     e = &mod->compiled->exts[0];
     assert_non_null(ant = (struct lyext_metadata*)e->data);
     assert_string_equal("meters", ant->units);
@@ -197,7 +197,7 @@
             "  <units name=\"meters\"/>\n"
             "</md:annotation></module>";
     assert_non_null(mod = lys_parse_mem(s->ctx, data, LYS_IN_YIN));
-    assert_int_equal(1, LY_ARRAY_SIZE(mod->compiled->exts));
+    assert_int_equal(1, LY_ARRAY_COUNT(mod->compiled->exts));
     e = &mod->compiled->exts[0];
     assert_non_null(ant = (struct lyext_metadata*)e->data);
     assert_string_equal("meters", ant->units);
diff --git a/tests/utests/extensions/test_nacm.c b/tests/utests/extensions/test_nacm.c
index c95afaa..4e494f8 100644
--- a/tests/utests/extensions/test_nacm.c
+++ b/tests/utests/extensions/test_nacm.c
@@ -123,8 +123,8 @@
     assert_non_null(cont = (struct lysc_node_container*)mod->compiled->data);
     assert_non_null(leaf = (struct lysc_node_leaf*)cont->child);
     assert_non_null(e = &cont->exts[0]);
-    assert_int_equal(LY_ARRAY_SIZE(cont->exts), 1);
-    assert_int_equal(LY_ARRAY_SIZE(leaf->exts), 1); /* NACM extensions inherit */
+    assert_int_equal(LY_ARRAY_COUNT(cont->exts), 1);
+    assert_int_equal(LY_ARRAY_COUNT(leaf->exts), 1); /* NACM extensions inherit */
     assert_ptr_equal(e->def, leaf->exts[0].def);
     assert_int_equal(1, *((uint8_t*)e->data)); /* plugin's value for default-deny-all */
     assert_null(cont->next->exts);
@@ -168,8 +168,8 @@
     assert_non_null(cont = (struct lysc_node_container*)mod->compiled->data);
     assert_non_null(leaf = (struct lysc_node_leaf*)cont->child);
     assert_non_null(e = &cont->exts[0]);
-    assert_int_equal(LY_ARRAY_SIZE(cont->exts), 1);
-    assert_int_equal(LY_ARRAY_SIZE(leaf->exts), 1); /* NACM extensions inherit */
+    assert_int_equal(LY_ARRAY_COUNT(cont->exts), 1);
+    assert_int_equal(LY_ARRAY_COUNT(leaf->exts), 1); /* NACM extensions inherit */
     assert_ptr_equal(e->def, leaf->exts[0].def);
     assert_int_equal(2, *((uint8_t*)e->data)); /* plugin's value for default-deny-write */
     assert_null(cont->next->exts);
