diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index 5979dc6..1001fbd 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -548,13 +548,15 @@
       DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SGV->getNameStart(),
                                                         SGV->getNameEnd()));
     
+    // If we found a global with the same name in the dest module, but it has
+    // internal linkage, we are really not doing any linkage here.
+    if (DGV && DGV->hasInternalLinkage())
+      DGV = 0;
+    
     // If types don't agree due to opaque types, try to resolve them.
     if (DGV && DGV->getType() != SGV->getType())
       RecursiveResolveTypes(SGV->getType(), DGV->getType());
 
-    if (DGV && DGV->hasInternalLinkage())
-      DGV = 0;
-
     assert((SGV->hasInitializer() || SGV->hasExternalWeakLinkage() ||
             SGV->hasExternalLinkage() || SGV->hasDLLImportLinkage()) &&
            "Global must either be external or have an initializer!");
@@ -901,13 +903,15 @@
       DGV = cast_or_null<GlobalValue>(DestSymTab.lookup(SF->getNameStart(),
                                                         SF->getNameEnd()));
     
+    // If we found a global with the same name in the dest module, but it has
+    // internal linkage, we are really not doing any linkage here.
+    if (DGV && DGV->hasInternalLinkage())
+      DGV = 0;
+
     // If types don't agree due to opaque types, try to resolve them.
     if (DGV && DGV->getType() != SF->getType())
       RecursiveResolveTypes(SF->getType(), DGV->getType());
 
-    if (DGV && DGV->hasInternalLinkage())
-      DGV = 0;
-
     // If there is no linkage to be performed, just bring over SF without
     // modifying it.
     if (DGV == 0) {
