diff --git a/linker/linker.cpp b/linker/linker.cpp
index c63ac35..eb1a483 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -530,11 +530,6 @@
   // 3. Look for it in the local group
   if (s == nullptr) {
     local_group.visit([&](soinfo* local_si) {
-      if (local_si == si && si->has_DT_SYMBOLIC) {
-        // we already did this - skip
-        return true;
-      }
-
       DEBUG("%s: looking up %s in %s (from local group)", si->name, name, local_si->name);
       s = soinfo_elf_lookup(local_si, elf_hash, name);
       if (s != nullptr) {
@@ -546,6 +541,28 @@
     });
   }
 
+  // 4. Look for it in this library (unless we already did it because of DT_SYMBOLIC)
+  if (s == nullptr && !si->has_DT_SYMBOLIC) {
+    DEBUG("%s: looking up %s in local scope", si->name, name);
+    s = soinfo_elf_lookup(si, elf_hash, name);
+    if (s != nullptr) {
+      *lsi = si;
+    }
+  }
+
+  // 5. Dependencies
+  if (s == nullptr) {
+    si->get_children().visit([&](soinfo* child) {
+      DEBUG("%s: looking up %s in %s", si->name, name, child->name);
+      s = soinfo_elf_lookup(child, elf_hash, name);
+      if (s != nullptr) {
+        *lsi = child;
+        return false;
+      }
+      return true;
+    });
+  }
+
   if (s != nullptr) {
     TRACE_TYPE(LOOKUP, "si %s sym %s s->st_value = %p, "
                "found in %s, base = %p, load bias = %p",
