diff --git a/src/class_linker.cc b/src/class_linker.cc
index 20e6514..22f8a8a 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1730,7 +1730,7 @@
 bool ClassLinker::RemoveClass(const char* descriptor, const ClassLoader* class_loader) {
   size_t hash = Hash(descriptor);
   MutexLock mu(classes_lock_);
-  typedef Table::const_iterator It;  // TODO: C++0x auto
+  typedef Table::iterator It;  // TODO: C++0x auto
   // TODO: determine if its better to search classes_ or image_classes_ first
   ClassHelper kh;
   for (It it = classes_.find(hash), end = classes_.end(); it != end; ++it) {
diff --git a/src/class_linker.h b/src/class_linker.h
index fde4d5f..62e47db 100644
--- a/src/class_linker.h
+++ b/src/class_linker.h
@@ -24,16 +24,13 @@
 
 #include "dex_cache.h"
 #include "dex_file.h"
+#include "gtest/gtest.h"
 #include "heap.h"
 #include "macros.h"
 #include "mutex.h"
 #include "oat_file.h"
 #include "object.h"
 #include "stack_indirect_reference_table.h"
-#include "unordered_map.h"
-#include "unordered_set.h"
-
-#include "gtest/gtest.h"
 
 namespace art {
 
@@ -404,7 +401,7 @@
   // Class* instances. Results should be compared for a matching
   // Class::descriptor_ and Class::class_loader_.
   // Protected by classes_lock_
-  typedef std::tr1::unordered_multimap<size_t, Class*> Table;
+  typedef std::multimap<size_t, Class*> Table;
   Table image_classes_;
   Table classes_;
   mutable Mutex classes_lock_;
diff --git a/src/class_loader.h b/src/class_loader.h
index a5436fa..83f35c0 100644
--- a/src/class_loader.h
+++ b/src/class_loader.h
@@ -3,11 +3,11 @@
 #ifndef ART_SRC_CLASS_LOADER_H_
 #define ART_SRC_CLASS_LOADER_H_
 
+#include <map>
 #include <vector>
 
 #include "dex_file.h"
 #include "object.h"
-#include "unordered_map.h"
 
 namespace art {
 
@@ -26,7 +26,7 @@
   ClassLoader* parent_;
   Object* proxyCache_;
 
-  typedef std::tr1::unordered_map<const ClassLoader*, std::vector<const DexFile*>, ObjectIdentityHash> Table;
+  typedef std::map<const ClassLoader*, std::vector<const DexFile*> > Table;
   static Table compile_time_class_paths_;
 
   static bool use_compile_time_class_path;
diff --git a/src/compiler.h b/src/compiler.h
index bf21ed6..9d2b64c 100644
--- a/src/compiler.h
+++ b/src/compiler.h
@@ -3,6 +3,8 @@
 #ifndef ART_SRC_COMPILER_H_
 #define ART_SRC_COMPILER_H_
 
+#include <map>
+
 #include "compiled_class.h"
 #include "compiled_method.h"
 #include "constants.h"
@@ -165,7 +167,7 @@
   // All method references that this compiler has compiled
   MethodTable compiled_methods_;
 
-  typedef std::tr1::unordered_map<std::string, const CompiledInvokeStub*> InvokeStubTable;
+  typedef std::map<std::string, const CompiledInvokeStub*> InvokeStubTable;
   // Invocation stubs created to allow invocation of the compiled methods
   InvokeStubTable compiled_invoke_stubs_;
 
diff --git a/src/hprof/hprof.h b/src/hprof/hprof.h
index 7c1180e..9595b2b 100644
--- a/src/hprof/hprof.h
+++ b/src/hprof/hprof.h
@@ -17,11 +17,13 @@
 #define HPROF_HPROF_H_
 
 #include <stdio.h>
-#include "globals.h"
+
+#include <map>
+#include <set>
+
 #include "file.h"
+#include "globals.h"
 #include "object.h"
-#include "unordered_map.h"
-#include "unordered_set.h"
 #include "thread_list.h"
 
 namespace art {
@@ -76,10 +78,10 @@
 typedef HprofId HprofStringId;
 typedef HprofId HprofObjectId;
 typedef HprofId HprofClassObjectId;
-typedef std::tr1::unordered_set<Class*, ObjectIdentityHash> ClassSet;
-typedef std::tr1::unordered_set<Class*, ObjectIdentityHash>::iterator ClassSetIterator;
-typedef std::tr1::unordered_map<std::string, size_t> StringMap;
-typedef std::tr1::unordered_map<std::string, size_t>::iterator StringMapIterator;
+typedef std::set<Class*> ClassSet;
+typedef std::set<Class*>::iterator ClassSetIterator;
+typedef std::map<std::string, size_t> StringMap;
+typedef std::map<std::string, size_t>::iterator StringMapIterator;
 
 enum HprofBasicType {
   hprof_basic_object = 2,
diff --git a/src/image_writer.h b/src/image_writer.h
index d27333a..ad00f71 100644
--- a/src/image_writer.h
+++ b/src/image_writer.h
@@ -9,14 +9,13 @@
 #include <set>
 #include <string>
 
-#include "UniquePtr.h"
 #include "dex_cache.h"
 #include "mem_map.h"
 #include "oat_file.h"
 #include "object.h"
 #include "os.h"
 #include "space.h"
-#include "unordered_set.h"
+#include "UniquePtr.h"
 
 namespace art {
 
@@ -145,7 +144,7 @@
   const byte* oat_base_;
 
   // DexCaches seen while scanning for fixing up CodeAndDirectMethods
-  typedef std::tr1::unordered_set<DexCache*, ObjectIdentityHash> Set;
+  typedef std::set<DexCache*> Set;
   Set dex_caches_;
 };
 
diff --git a/src/intern_table.cc b/src/intern_table.cc
index a848761..e75597e 100644
--- a/src/intern_table.cc
+++ b/src/intern_table.cc
@@ -56,7 +56,7 @@
 
 void InternTable::Remove(Table& table, const String* s, uint32_t hash_code) {
   intern_table_lock_.AssertHeld();
-  typedef Table::const_iterator It; // TODO: C++0x auto
+  typedef Table::iterator It; // TODO: C++0x auto
   for (It it = table.find(hash_code), end = table.end(); it != end; ++it) {
     if (it->second == s) {
       table.erase(it);
@@ -138,7 +138,7 @@
 
 void InternTable::SweepInternTableWeaks(Heap::IsMarkedTester is_marked, void* arg) {
   MutexLock mu(intern_table_lock_);
-  typedef Table::const_iterator It; // TODO: C++0x auto
+  typedef Table::iterator It; // TODO: C++0x auto
   for (It it = weak_interns_.begin(), end = weak_interns_.end(); it != end;) {
     Object* object = it->second;
     if (!is_marked(object, arg)) {
diff --git a/src/intern_table.h b/src/intern_table.h
index 80f21e2..a5bf187 100644
--- a/src/intern_table.h
+++ b/src/intern_table.h
@@ -4,11 +4,11 @@
 #define ART_SRC_INTERN_TABLE_H_
 
 #include <iosfwd>
+#include <map>
 
 #include "heap.h"
 #include "mutex.h"
 #include "object.h"
-#include "unordered_map.h"
 
 namespace art {
 
@@ -53,7 +53,7 @@
   void DumpForSigQuit(std::ostream& os) const;
 
  private:
-  typedef std::tr1::unordered_multimap<int32_t, String*> Table;
+  typedef std::multimap<int32_t, String*> Table;
 
   String* Insert(String* s, bool is_strong);
 
diff --git a/src/intern_table_test.cc b/src/intern_table_test.cc
index a0c47ec..b6ecdc6 100644
--- a/src/intern_table_test.cc
+++ b/src/intern_table_test.cc
@@ -88,7 +88,7 @@
 
   EXPECT_EQ(2U, t.Size());
 
-  // Just check that we didn't corrupt the unordered_multimap.
+  // Just check that we didn't corrupt the map.
   SirtRef<String> still_here(String::AllocFromModifiedUtf8("still here"));
   t.InternWeak(still_here.get());
   EXPECT_EQ(3U, t.Size());
diff --git a/src/oatdump.cc b/src/oatdump.cc
index 91f4091..1e0d6e7 100644
--- a/src/oatdump.cc
+++ b/src/oatdump.cc
@@ -5,18 +5,18 @@
 
 #include <fstream>
 #include <iostream>
+#include <map>
 #include <string>
 #include <vector>
 
 #include "class_linker.h"
 #include "file.h"
 #include "image.h"
-#include "os.h"
 #include "object_utils.h"
+#include "os.h"
 #include "runtime.h"
 #include "space.h"
 #include "stringpiece.h"
-#include "unordered_map.h"
 
 namespace art {
 
@@ -414,10 +414,10 @@
           pc_mapping_table_bytes(0),
           dex_instruction_bytes(0) {}
 
-    typedef std::tr1::unordered_map<std::string,size_t> TableBytes;
+    typedef std::map<std::string, size_t> TableBytes;
     TableBytes descriptor_to_bytes;
 
-    typedef std::tr1::unordered_map<std::string,size_t> TableCount;
+    typedef std::map<std::string, size_t> TableCount;
     TableCount descriptor_to_count;
 
     double PercentOfFileBytes(size_t size) {
diff --git a/src/zip_archive.h b/src/zip_archive.h
index 6427da9..4f95284 100644
--- a/src/zip_archive.h
+++ b/src/zip_archive.h
@@ -23,13 +23,12 @@
 
 #include <map>
 
-#include "UniquePtr.h"
 #include "file.h"
 #include "globals.h"
 #include "logging.h"
 #include "mem_map.h"
 #include "stringpiece.h"
-#include "unordered_map.h"
+#include "UniquePtr.h"
 
 namespace art {
 
@@ -121,7 +120,7 @@
   uint16_t num_entries_;
   off_t dir_offset_;
   UniquePtr<MemMap> dir_map_;
-  typedef std::tr1::unordered_map<StringPiece, const byte*, StringPieceHash> DirEntries;
+  typedef std::map<StringPiece, const byte*> DirEntries;
   DirEntries dir_entries_;
 
   friend class ZipEntry;
