diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index 7b800af78..832d03f9f 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -45815,7 +45815,7 @@ cp_parser_omp_clause_proc_bind (cp_parser *parser, tree list,
   return c;
 
  invalid_kind:
-  cp_parser_error (parser, "invalid depend kind");
+  cp_parser_error (parser, "invalid proc_bind kind");
  resync_fail:
   cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
 					 /*or_comma=*/false,
@@ -45882,7 +45882,7 @@ cp_parser_omp_clause_device_type (cp_parser *parser, tree list,
   return c;
 
  invalid_kind:
-  cp_parser_error (parser, "invalid depend kind");
+  cp_parser_error (parser, "invalid device_type kind");
  resync_fail:
   cp_parser_skip_to_closing_parenthesis (parser, /*recovering=*/true,
 					 /*or_comma=*/false,
diff --git a/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C b/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C
new file mode 100644
index 000000000..608f63611
--- /dev/null
+++ b/gcc/testsuite/g++.dg/gomp/clause-errmsg-1.C
@@ -0,0 +1,12 @@
+// Verify that proc_bind and device_type clauses name the right clause
+// in their diagnostics, not "depend".
+// { dg-do compile }
+// { dg-additional-options "-fopenmp" }
+
+void f () {
+  #pragma omp parallel proc_bind(bad)		// { dg-error "invalid proc_bind kind" }
+  ;
+}
+
+#pragma omp declare target device_type(bad)	// { dg-error "invalid device_type kind" }
+void g() {}
