diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 212e118..1e47203 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -2082,3 +2082,16 @@
       computeNodeMapping(N1->getLink(i),
                          N2->getLink(unsigned(N2Idx+i) % N2Size), NodeMap);
 }
+
+
+/// computeGlobalGraphMapping - Compute the mapping of nodes in the global
+/// graph to nodes in this graph.
+void DSGraph::computeGlobalGraphMapping(NodeMapTy &NodeMap) {
+  DSGraph &GG = *getGlobalsGraph();
+
+  DSScalarMap &SM = getScalarMap();
+  for (DSScalarMap::global_iterator I = SM.global_begin(),
+         E = SM.global_end(); I != E; ++I)
+    DSGraph::computeNodeMapping(SM[*I], GG.getNodeForValue(*I), NodeMap);
+}
+                                
diff --git a/lib/Analysis/DataStructure/EquivClassGraphs.cpp b/lib/Analysis/DataStructure/EquivClassGraphs.cpp
index 8e69291..58aaf2e 100644
--- a/lib/Analysis/DataStructure/EquivClassGraphs.cpp
+++ b/lib/Analysis/DataStructure/EquivClassGraphs.cpp
@@ -45,13 +45,11 @@
   for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I)
     if (!I->isExternal()) {
       DSGraph &G = ECGraphs.getDSGraph(*I);
+      if (G.getReturnNodes().begin()->first != I)
+        continue;  // Only check a graph once.
 
       DSGraph::NodeMapTy GlobalsGraphNodeMapping;
-      for (DSScalarMap::global_iterator I = G.getScalarMap().global_begin(),
-             E = G.getScalarMap().global_end(); I != E; ++I)
-        DSGraph::computeNodeMapping(G.getNodeForValue(*I),
-                                    GG.getNodeForValue(*I),
-                                    GlobalsGraphNodeMapping);
+      G.computeGlobalGraphMapping(GlobalsGraphNodeMapping);
     } 
 }
 #endif
