diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp
index 66f1815..c3152c0 100644
--- a/clang/lib/Serialization/ModuleManager.cpp
+++ b/clang/lib/Serialization/ModuleManager.cpp
@@ -152,9 +152,20 @@
 
   // Delete the modules and erase them from the various structures.
   for (ModuleIterator victim = first; victim != last; ++victim) {
-    Modules.erase((*victim)->File);
+    const FileEntry *F = (*victim)->File;
+    Modules.erase(F);
 
-    FileMgr.invalidateCache((*victim)->File);
+    // Refresh the stat() information for the module file so stale information
+    // doesn't get stored accidentally.
+    vfs::Status UpdatedStat;
+    if (FileMgr.getNoncachedStatValue(F->getName(), UpdatedStat)) {
+      llvm::report_fatal_error(Twine("module file '") + F->getName() +
+                               "' removed after it has been used");
+    } else {
+      FileMgr.modifyFileEntry(const_cast<FileEntry *>(F), UpdatedStat.getSize(),
+          UpdatedStat.getLastModificationTime().toEpochTime());
+    }
+
     if (modMap) {
       StringRef ModuleName = (*victim)->ModuleName;
       if (Module *mod = modMap->findModule(ModuleName)) {
