diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 251d21a04701dc6b0ec306d04150082af2bf7c1c..28ee03321accf483fdfabb0e3349f4fe4855a16e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2006-05-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+	* decl.c (grokdeclarator): Return error_mark_node instead of NULL_TREE.
+
 2006-05-21  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/27210
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 72727dbca3c41d9be00646d40709d7efc39912de..95acc8568d8ccd60b31e8e7a8284ab9f5b6c0625 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -8211,7 +8211,7 @@ grokdeclarator (const cp_declarator *declarator,
 			       sfk,
 			       funcdef_flag, template_count, in_namespace, attrlist);
 	    if (decl == NULL_TREE)
-	      return decl;
+	      return error_mark_node;
 #if 0
 	    /* This clobbers the attrs stored in `decl' from `attrlist'.  */
 	    /* The decl and setting of decl_attr is also turned off.  */