diff --git a/lib/Basic/FileManager.cpp b/lib/Basic/FileManager.cpp
index 2db6054..773d366 100644
--- a/lib/Basic/FileManager.cpp
+++ b/lib/Basic/FileManager.cpp
@@ -122,7 +122,8 @@
     return
       const_cast<FileEntry&>(
                     *UniqueFiles.insert(FileEntry(StatBuf.st_dev,
-                                                  StatBuf.st_ino)).first);
+                                                  StatBuf.st_ino,
+                                                  StatBuf.st_mode)).first);
   }
 
   size_t size() { return UniqueFiles.size(); }
@@ -134,11 +135,10 @@
 // Common logic.
 //===----------------------------------------------------------------------===//
 
-FileManager::FileManager(StatSysCallCache* statCache)
+FileManager::FileManager()
   : UniqueDirs(*new UniqueDirContainer),
     UniqueFiles(*new UniqueFileContainer),
-    DirEntries(64), FileEntries(64), NextFileUID(0),
-    StatCache(statCache) {
+    DirEntries(64), FileEntries(64), NextFileUID(0) {
   NumDirLookups = NumFileLookups = 0;
   NumDirCacheMisses = NumFileCacheMisses = 0;
 }
@@ -146,10 +146,8 @@
 FileManager::~FileManager() {
   delete &UniqueDirs;
   delete &UniqueFiles;
-  delete StatCache;
 }
 
-
 /// getDirectory - Lookup, cache, and verify the specified directory.  This
 /// returns null if the directory doesn't exist.
 /// 
