diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 4a620fdc4139af2e55833b641c9aa316e2be21b4..2e8a11f7b20a6ea273c2463bf7002cd99ff0123c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+	PR fortran/21203
+	* error.c (show_loci): No need to risk an ICE to output a
+	slightly nicer error message.
+
 2006-09-19 Paul Thomas <pault@gcc.gnu.org>
 	   Steven Bosscher  <steven@gcc.gnu.org>
 
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index 435fc16a36fff9b5ddbf03f4bbef1125f93d982a..f63e41634a997c92ddad8014854c28f799175cad 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -199,7 +199,7 @@ show_loci (locus * l1, locus * l2)
 {
   int offset, flag, i, m, c1, c2, cmax;
 
-  if (l1 == NULL)
+  if (l1 == NULL || l1->lb == NULL)
     {
       error_printf ("<During initialization>\n");
       return;