diff --git a/include/llvm/Target/TargetMachineRegistry.h b/include/llvm/Target/TargetMachineRegistry.h
index 6b78a58..a1b13d3 100644
--- a/include/llvm/Target/TargetMachineRegistry.h
+++ b/include/llvm/Target/TargetMachineRegistry.h
@@ -18,7 +18,6 @@
 #define LLVM_TARGET_TARGETMACHINEREGISTRY_H
 
 #include "llvm/Module.h"
-#include "llvm/Support/Registry.h"
 #include "llvm/Target/TargetRegistry.h"
 
 namespace llvm {
@@ -26,29 +25,6 @@
   class Target;
   class TargetMachine;
 
-  struct TargetMachineRegistryEntry {
-    const Target &TheTarget;
-    const char *Name;
-    const char *ShortDesc;
-
-  public:
-    TargetMachineRegistryEntry(const Target &T, const char *N, const char *SD)
-      : TheTarget(T), Name(N), ShortDesc(SD) {}
-  };
-
-  template<>
-  class RegistryTraits<TargetMachine> {
-  public:
-    typedef TargetMachineRegistryEntry entry;
-
-    static const char *nameof(const entry &Entry) { return Entry.Name; }
-    static const char *descof(const entry &Entry) { return Entry.ShortDesc; }
-  };
-
-  struct TargetMachineRegistry : public Registry<TargetMachine> {
-
-  };
-
   //===--------------------------------------------------------------------===//
   /// RegisterTarget - This class is used to make targets automatically register
   /// themselves with the tools they are linked with.  Targets should define an
@@ -63,16 +39,11 @@
 
   template<class TargetMachineImpl>
   struct RegisterTarget {
-    RegisterTarget(Target &T, const char *Name, const char *ShortDesc)
-      : Entry(T, Name, ShortDesc),
-        Node(Entry) {
+    RegisterTarget(Target &T, const char *Name, const char *ShortDesc) {
       TargetRegistry::RegisterTargetMachine(T, &Allocator);
     }
 
   private:
-    TargetMachineRegistry::entry Entry;
-    TargetMachineRegistry::node Node;
-
     static TargetMachine *Allocator(const Target &T, const Module &M, 
                                     const std::string &FS) {
       return new TargetMachineImpl(T, M, FS);
diff --git a/tools/llvm-ld/llvm-ld.cpp b/tools/llvm-ld/llvm-ld.cpp
index 5828c3a..ba51730 100644
--- a/tools/llvm-ld/llvm-ld.cpp
+++ b/tools/llvm-ld/llvm-ld.cpp
@@ -29,7 +29,6 @@
 #include "llvm/Bitcode/ReaderWriter.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetMachineRegistry.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FileUtilities.h"
 #include "llvm/Support/ManagedStatic.h"
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 5176359..9aca59c 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -41,7 +41,7 @@
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetMachineRegistry.h"
+#include "llvm/Target/TargetRegistry.h"
 #include "llvm/Target/TargetSelect.h"
 #include "llvm/Transforms/IPO.h"
 #include "llvm/Transforms/Scalar.h"
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index be6543c..9ccac2b 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -27,9 +27,9 @@
 #include "llvm/System/Path.h"
 #include "llvm/System/Process.h"
 #include "llvm/Target/SubtargetFeature.h"
-#include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetMachineRegistry.h"
 #include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/Target/TargetMachine.h"
+#include "llvm/Target/TargetRegistry.h"
 
 #include <fstream>
 
