diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 397805d777946c7469d2af2832c685197a576d44..820b08d26fd4d25d5f98f9e42d15d5b630b51f42 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -3871,7 +3871,7 @@ operand_compare::hash_operand (const_tree t, inchash::hash &hstate,
 		  c = TYPE_NAME (TYPE_MAIN_VARIANT (c));
 		  /* We compute mangled names only when free_lang_data is run.
 		     In that case we can hash precisely.  */
-		  if (TREE_CODE (c) == TYPE_NAME
+		  if (TREE_CODE (c) == TYPE_DECL
 		      && DECL_ASSEMBLER_NAME_SET_P (c))
 		    hstate.add_object
 			   (IDENTIFIER_HASH_VALUE