diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3d44d641c2476d85644a68615987c5e5dc6696a0..135a0b4a1cbd66f6af4e74bfba1438eb67e8e771 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libfortran/39402
+	* gfortran.dg/fmt_f0_1.f90: New test.
+
 2009-03-08  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR c++/39060
diff --git a/gcc/testsuite/gfortran.dg/fmt_f0_1.f90 b/gcc/testsuite/gfortran.dg/fmt_f0_1.f90
new file mode 100644
index 0000000000000000000000000000000000000000..166846b87fe6dd06dbd599994bd135cca5c8fe14
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/fmt_f0_1.f90
@@ -0,0 +1,17 @@
+! { dg-do run )
+! PR39304 write of  0.0 with F0.3 gives  **
+! Test case developed from case provided by reporter.
+ REAL :: x
+ CHARACTER(80) :: str
+ x = 0.0
+ write (str,'(f0.0)') x
+ if (str.ne."0.") call abort
+ write (str,'(f0.1)') x
+ if (str.ne."0.0") call abort
+ write (str,'(f0.2)') x
+ if (str.ne."0.00") call abort
+ write (str,'(f0.3)') x
+ if (str.ne."0.000") call abort
+ write (str,'(f0.4)') x
+ if (str.ne."0.0000") call abort
+ END