diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index f588dd0..9c35b40 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -87,9 +87,6 @@
     // If someone requests legalization of the new node, return itself.
     if (From != To)
       LegalizedNodes.insert(std::make_pair(To, To));
-    
-    // Transfer SDDbgValues.
-    DAG.TransferDbgValues(From, To);
   }
 
 public:
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 17be6b1..d14cae3 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -5474,6 +5474,7 @@
   SDNode *FromNode = From.getNode();
   SDNode *ToNode = To.getNode();
   SmallVector<SDDbgValue*,2> &DVs = GetDbgValues(FromNode);
+  DbgInfo->removeSDDbgValues(FromNode);
   for (SmallVector<SDDbgValue *, 2>::iterator I = DVs.begin(), E = DVs.end();
        I != E; ++I) {
     if ((*I)->getKind() == SDDbgValue::SDNODE) {
@@ -5481,7 +5482,6 @@
       (*I)->setSDNode(ToNode, To.getResNo());
     }
   }
-  DbgInfo->removeSDDbgValues(FromNode);
 }
 
 //===----------------------------------------------------------------------===//
