diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index b7c75e033ea8cd6d152ea203f60eaf08ffe2af45..bf51dbcdd6d23725abac88a5929e51603cf9cb62 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libgfortran/41683
+	* io/format.c (parse_format_list): Allow a repeat specifier immediately
+	after a P specifier.
+	
 2009-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
 	PR libgfortran/38439
diff --git a/libgfortran/io/format.c b/libgfortran/io/format.c
index 97bd2da77ba7db3f5ec4b86eda0c70d1898279d5..0ee60ea90126925b38862d289385c44af96595da 100644
--- a/libgfortran/io/format.c
+++ b/libgfortran/io/format.c
@@ -706,7 +706,8 @@ parse_format_list (st_parameter_dt *dtp, bool *save_ok)
 	  goto data_desc;
 	}
 
-      if (t != FMT_COMMA && t != FMT_RPAREN && t != FMT_SLASH)
+      if (t != FMT_COMMA && t != FMT_RPAREN && t != FMT_SLASH
+	  && t != FMT_POSINT)
 	{
 	  fmt->error = "Comma required after P descriptor";
 	  goto finished;