diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index ccab2de..3aec864 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -395,6 +395,14 @@
       assert(!isa<GlobalValue>(CPV) && "Unmapped global?");
       llvm_unreachable("Unknown type of derived type constant value!");
     }
+  } else if (const MDNode *N = dyn_cast<MDNode>(In)) {
+    std::vector<Value*> Elems;
+    for (unsigned i = 0, e = N->getNumElements(); i !=e; ++i)
+      Elems.push_back(RemapOperand(N->getElement(i), ValueMap, Context));
+    if (!Elems.empty())
+      Result = MDNode::get(Context, &Elems[0], Elems.size());
+  } else if (const MDString *MDS = dyn_cast<MDString>(In)) {
+    Result = MDString::get(Context, MDS->getString());
   } else if (isa<InlineAsm>(In)) {
     Result = const_cast<Value*>(In);
   }
diff --git a/test/Linker/linkmdnode.ll b/test/Linker/linkmdnode.ll
new file mode 100644
index 0000000..be74550
--- /dev/null
+++ b/test/Linker/linkmdnode.ll
@@ -0,0 +1,12 @@
+; RUN: llvm-as < %s > %t.bc
+; RUN: llvm-as < %p/linkmdnode2.ll > %t2.bc
+; RUN: llvm-link %t.bc %t2.bc
+
+
+!21 = metadata !{i32 42, metadata !"foobar"}
+
+declare i8 @llvm.something(metadata %a)
+define void @foo() {
+  %x = call i8 @llvm.something(metadata !21)
+  ret void
+}
diff --git a/test/Linker/linkmdnode2.ll b/test/Linker/linkmdnode2.ll
new file mode 100644
index 0000000..54a5a57
--- /dev/null
+++ b/test/Linker/linkmdnode2.ll
@@ -0,0 +1,12 @@
+; This file is used by linkmdnode.ll, so it doesn't actually do anything itself
+;
+; RUN: true
+
+!22 = metadata !{i32 42, metadata !"foobar"}
+
+declare i8 @llvm.something(metadata %a)
+define void @foo1() {
+  ;; Intrinsic using MDNode and MDString
+  %x = call i8 @llvm.something(metadata !22)
+  ret void
+}
