diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5006c7bb1f42cd967de63d5ccd7ecd35c28bde94..2b374e84c2840bb9dc2db59832d94c2288ac8dce 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+	PR libfortran/19872
+	* gfortran.dg/overwrite_1.f: New test.
+
 2005-09-09  Josh Conner  <jconner@apple.com>
 
 	* g++.dg/init/pr23180-1.C: Removed.
diff --git a/gcc/testsuite/gfortran.dg/overwrite_1.f b/gcc/testsuite/gfortran.dg/overwrite_1.f
new file mode 100644
index 0000000000000000000000000000000000000000..dda9a8bdf9d4ca6ef03d1fef21cf66707b86b95b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/overwrite_1.f
@@ -0,0 +1,20 @@
+! { dg-do run } 
+! PR 19872 - closed and re-opened file not overwriten
+      implicit none
+      integer i(4)
+      data i / 4 * 0 /
+      open(1,form='FORMATTED',status='UNKNOWN')
+      write(1,'("1 2 3 4 5 6 7 8 9")')
+      close(1)
+      open(1,form='FORMATTED')
+      write(1,'("9 8 7 6")')
+      close(1)
+      open(1,form='FORMATTED')
+      read(1,*)i
+      if(i(1).ne.9.and.i(2).ne.8.and.i(3).ne.7.and.i(4).ne.9)call abort
+      read(1,*,end=200)i
+! should only be able to read one line from the file
+      call abort
+ 200  continue
+      close(1,STATUS='DELETE')
+      end