diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 60cae9b3bc245100202764a265d24a063c5fb66a..538486dcf90b04dd1c15570a79a7d34faa21c113 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+	PR fortran/17676
+	* resolve.c (resolve_operator): Use correct operator name in message.
+
 2004-10-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
 	* primary.c (match_boz_constant): Allow kind parameter suffixes.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 5169f5e8b0f61c61f4b4c1344ea99ad1a50d00e0..08f08da0cf255dde2d43e1e73e72b9a433a84694 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1413,10 +1413,10 @@ resolve_operator (gfc_expr * e)
     case INTRINSIC_USER:
       if (op2 == NULL)
 	sprintf (msg, "Operand of user operator '%s' at %%L is %s",
-		 e->uop->ns->proc_name->name, gfc_typename (&op1->ts));
+		 e->uop->name, gfc_typename (&op1->ts));
       else
 	sprintf (msg, "Operands of user operator '%s' at %%L are %s/%s",
-		 e->uop->ns->proc_name->name, gfc_typename (&op1->ts),
+		 e->uop->name, gfc_typename (&op1->ts),
 		 gfc_typename (&op2->ts));
 
       goto bad_op;