diff --git a/src/interpreter.h b/src/interpreter.h
index 736e39ca17c3aeba8feaa2635b74a3ed44a8b84b..c6da0e01fa03a0e56510e85592ba7a0cec3df93e 100644
--- a/src/interpreter.h
+++ b/src/interpreter.h
@@ -1307,7 +1307,7 @@ static int eval_instruction(unsigned char *pc)
 	   * for array, mapping and multiset, so we perform a more lenient
 	   * check for them.
 	   */
-	  if (!pike_types_le(sval_type, weak_type_type_string) ||
+	  if (!pike_types_le(sval_type, weak_type_string) ||
 	      !match_types(sval_type, sp[-2].u.string)) {
 	    struct pike_string *t1;
 	    struct pike_string *t2;