diff --git a/src/language.yacc b/src/language.yacc
index dfe67d4f83aa105571fd138bc171d139509d20eb..467df33fcd31d9adb85ab42ac6df56c07be1a4e2 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -1716,6 +1716,7 @@ new_name: optional_stars TOK_IDENTIFIER
        *     of calling __INIT() by hand.
        */
       if (SAFE_IS_ZERO(&$5->u.sval) &&
+	  !SUBTYPEOF($5->u.sval) &&
 	  !IDENTIFIER_IS_ALIAS(ID_FROM_INT(Pike_compiler->new_program,
 					   $<number>4)->identifier_flags)) {
 	/* NB: Inherited variables get converted into aliases by