diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2dd488bb987d536f00f2ee8434b9563357f23d41..7a951fe9afdde8b542f8c36139a202860ca43136 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
+            Petur Runolfsson  <peturr02@ru.is>
+
+	* include/ext/stdio_sync_filebuf.h: Don't include the whole
+	<fstream>, only <streambuf> and <cstdio>.
+
 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
 
 	PR libstdc++/12206
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index 7697d86816e0a70b22b6257a417d190540778d69..4727c6b28667f1846295e1f8ae39feaf1707c441 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -36,7 +36,7 @@
 
 #pragma GCC system_header
 
-#include <fstream>
+#include <streambuf>
 #include <unistd.h>
 
 #if defined(_GLIBCXX_HAVE_S_ISREG) || defined(_GLIBCXX_HAVE_S_IFREG)
@@ -48,6 +48,8 @@
 # endif
 #endif
 
+#include <cstdio>
+
 #ifdef _GLIBCXX_USE_WCHAR_T
 #include <cwchar>
 #endif