diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 3aaf82fd6f69ec845b6648591ddbc81ddb562f43..4a06ac5e8fe09d1ebfa0b5a18420a70202cf9184 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-05  Victor Leikehman  <lei@il.ibm.com>
+
+	PR libgfortran/16704
+	* io/read.c (read_radix): Understand letters f and F as hex digits.
+
 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
 
 	* libgfortran.h (array_t, size0) New declarations.
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 3ce9f1d3a1afc29431fed7815fb3cf55cfc468d3..260a3dca5c6cdb506f52cf536f68f45f6fda99c4 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -526,6 +526,7 @@ read_radix (fnode * f, char *dest, int length, int radix)
 	    case 'c':
 	    case 'd':
 	    case 'e':
+	    case 'f':
 	      c = c - 'a' + '9' + 1;
 	      break;
 
@@ -534,6 +535,7 @@ read_radix (fnode * f, char *dest, int length, int radix)
 	    case 'C':
 	    case 'D':
 	    case 'E':
+	    case 'F':
 	      c = c - 'A' + '9' + 1;
 	      break;