diff --git a/tests/test_environment.cpp b/tests/test_environment.cpp
index 6b66bab..9b67e81 100644
--- a/tests/test_environment.cpp
+++ b/tests/test_environment.cpp
@@ -75,7 +75,7 @@
     for (uint32_t i = 0; i < instance_extension_names.size(); i++) {
         extFound = 0;
         for (uint32_t j = 0; j < instance_extensions.size(); j++) {
-            if (!strcmp(instance_extension_names[i], instance_extensions[i].extName)) {
+            if (!strcmp(instance_extension_names[i], instance_extensions[j].extName)) {
                 extFound = 1;
             }
         }
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 73dc2e7..233799f 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -175,7 +175,7 @@
         err = vkGetGlobalExtensionProperties(pLayerName, &ext_count, NULL);
 
         if (err == VK_SUCCESS) {
-            exts.reserve(ext_count);
+            exts.resize(ext_count);
             err = vkGetGlobalExtensionProperties(pLayerName, &ext_count, &exts[0]);
         }
     } while (err == VK_INCOMPLETE);
