diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1f0ba0d34877890a858d338c605d7e0e1dd90d05..5d930f5524c45df62acf7f6ec0c41dbd1a429ca0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-24  Daniel Kraft  <d@domob.eu>
+
+	* match.c (gfc_match):  Add assertion to catch wrong calls trying to
+	match upper-case characters.
+
 2008-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
 	PR fortran/29952
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 19a97e930e940f68e21db3bb2508b6d9c3e0111e..42fe7943aea9e4edeb67f3d6bddfc81e5435f4d8 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -1187,6 +1187,11 @@ loop:
 	}
 
     default:
+
+      /* gfc_next_ascii_char converts characters to lower-case, so we shouldn't
+	 expect an upper case character here!  */
+      gcc_assert (TOLOWER (c) == c);
+
       if (c == gfc_next_ascii_char ())
 	goto loop;
       break;