diff --git a/linker/linker.cpp b/linker/linker.cpp
index 27bcb21..8b678ff 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2255,9 +2255,12 @@
     g_public_namespace.clear();
   });
 
-  soinfo* candidate;
   for (const auto& soname : sonames) {
-    if (!find_loaded_library_by_soname(&g_default_namespace, soname.c_str(), &candidate)) {
+    soinfo* candidate = nullptr;
+
+    find_loaded_library_by_soname(&g_default_namespace, soname.c_str(), &candidate);
+
+    if (candidate == nullptr) {
       DL_ERR("Error initializing public namespace: \"%s\" was not found"
              " in the default namespace", soname.c_str());
       return false;
diff --git a/tests/dlext_test.cpp b/tests/dlext_test.cpp
index 83bd5cc..a56c771 100644
--- a/tests/dlext_test.cpp
+++ b/tests/dlext_test.cpp
@@ -707,6 +707,8 @@
   dlclose(handle2);
 }
 
+extern "C" void android_set_application_target_sdk_version(uint32_t target);
+
 TEST(dlext, ns_isolated) {
   static const char* root_lib = "libnstest_root_not_isolated.so";
   std::string path = std::string("libc.so:libc++.so:libdl.so:libm.so:") + g_public_lib;
@@ -715,6 +717,8 @@
   void* handle_public = dlopen((lib_path + "/public_namespace_libs/" + g_public_lib).c_str(), RTLD_NOW);
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
+  android_set_application_target_sdk_version(42U); // something > 23
+
   ASSERT_TRUE(android_init_public_namespace(path.c_str())) << dlerror();
 
   android_namespace_t* ns_not_isolated = android_create_namespace("private", nullptr, (lib_path + "/private_namespace_libs").c_str(), false);
