diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 422203c64a19395f4f79858918a23d2fab0e9fc4..3b14dabf134357cd103a4b338c20e494965f6930 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-03  James E Wilson  <wilson@specifix.com>
+
+	PR preprocessor/24202
+	* files.c (_cpp_pop_file_buffer): Set buffer_valid to false.
+
 2005-11-04  Joseph S. Myers  <joseph@codesourcery.com>
 
 	* include/cpplib.h (struct cpp_callbacks): Make error take
diff --git a/libcpp/files.c b/libcpp/files.c
index 3951515da393e5bed90d38c2f441db9ed9dc5333..31c38d0bb80f01e933f1bfaac89e28636596207b 100644
--- a/libcpp/files.c
+++ b/libcpp/files.c
@@ -1143,6 +1143,7 @@ _cpp_pop_file_buffer (cpp_reader *pfile, _cpp_file *file)
     {
       free ((void *) file->buffer);
       file->buffer = NULL;
+      file->buffer_valid = false;
     }
 }