diff --git a/src/class-fields/eval-err-contains-newtarget.case b/src/class-fields/eval-err-contains-newtarget.case
index 28688867aff4015fb39ea6ee2f87b12a2c3b5e8a..e396fb4fa1915870fd6e5c1709a29d9fbd995b94 100644
--- a/src/class-fields/eval-err-contains-newtarget.case
+++ b/src/class-fields/eval-err-contains-newtarget.case
@@ -16,7 +16,7 @@ info: |
   ScriptBody:StatementList
 
     It is a Syntax Error if StatementList Contains NewTarget.
-features: [class, class-fields-public]
+features: [class, class-fields-public, new.target]
 template: initializer-eval-newtarget
 ---*/
 
diff --git a/test/built-ins/Proxy/construct/trap-is-null.js b/test/built-ins/Proxy/construct/trap-is-null.js
index fdd485273809de7ee5f6eb48b813a62f4940951f..a5a63f0712110aae6d998cdea110a23dfef8f8ca 100644
--- a/test/built-ins/Proxy/construct/trap-is-null.js
+++ b/test/built-ins/Proxy/construct/trap-is-null.js
@@ -21,7 +21,7 @@ info: |
     ...
     3. If func is either undefined or null, return undefined.
     ...
-features: [Proxy, Reflect, Reflect.construct]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js b/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
index a6472c1ab389b2b0c271eb5c7532eb26f97454fc..557bd7133a819b5a0482e7ba2ab47525772507aa 100644
--- a/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
+++ b/test/built-ins/Proxy/construct/trap-is-undefined-no-property.js
@@ -10,7 +10,7 @@ info: |
 
     7. If trap is undefined, then
         b. Return Construct(target, argumentsList, newTarget).
-features: [Proxy, Reflect, Reflect.construct]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/built-ins/Proxy/construct/trap-is-undefined.js b/test/built-ins/Proxy/construct/trap-is-undefined.js
index 7c17356267af928dc2bd30a909eca9e0adb2ccf9..82b400abc891ec6f7b46fa09306bbd5c8cbcd0aa 100644
--- a/test/built-ins/Proxy/construct/trap-is-undefined.js
+++ b/test/built-ins/Proxy/construct/trap-is-undefined.js
@@ -21,7 +21,7 @@ info: |
     ...
     3. If func is either undefined or null, return undefined.
     ...
-features: [Proxy, Reflect, Reflect.construct]
+features: [new.target, Proxy, Reflect, Reflect.construct]
 ---*/
 
 var calls = 0;
diff --git a/test/language/eval-code/direct/new.target-arrow.js b/test/language/eval-code/direct/new.target-arrow.js
index 2eb465b7a5b52a8d109e79232c29d13d60a34ae3..a3a52faab5bd16601ffc537dab1d97c8dd10f65f 100644
--- a/test/language/eval-code/direct/new.target-arrow.js
+++ b/test/language/eval-code/direct/new.target-arrow.js
@@ -11,7 +11,7 @@ info: |
     code containing NewTarget is eval code that is being processed by a direct
     eval that is contained in function code that is not the function code of an
     ArrowFunction.
-features: [arrow-function]
+features: [arrow-function, new.target]
 ---*/
 
 var caught;
diff --git a/test/language/eval-code/direct/new.target-fn.js b/test/language/eval-code/direct/new.target-fn.js
index e09e9462df6c7a38f143eaea059f0743a1515d43..c494d08b4f4ec491ce3e4d98860b8c16726fb58e 100644
--- a/test/language/eval-code/direct/new.target-fn.js
+++ b/test/language/eval-code/direct/new.target-fn.js
@@ -11,7 +11,7 @@ info: |
     code containing NewTarget is eval code that is being processed by a direct
     eval that is contained in function code that is not the function code of an
     ArrowFunction.
-features: [arrow-function]
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/eval-code/direct/new.target.js b/test/language/eval-code/direct/new.target.js
index 8d308ac904f61fbda99785e6a13f71d6be9b0cdb..90604c9e8172a9f8fdb0c310956bc257b4210592 100644
--- a/test/language/eval-code/direct/new.target.js
+++ b/test/language/eval-code/direct/new.target.js
@@ -9,6 +9,7 @@ info: |
     code containing NewTarget is eval code that is being processed by a direct
     eval that is contained in function code that is not the function code of an
     ArrowFunction.
+features: [new.target]
 ---*/
 
 var caught;
diff --git a/test/language/eval-code/indirect/new.target.js b/test/language/eval-code/indirect/new.target.js
index 5c938c70f243c2a8b7a723b7a36ab0875abcb7b8..5172ff2493b0d7e3171eb0f74b37cf3a10e0a5b3 100644
--- a/test/language/eval-code/indirect/new.target.js
+++ b/test/language/eval-code/indirect/new.target.js
@@ -10,6 +10,7 @@ info: |
     code containing NewTarget is eval code that is being processed by a direct
     eval that is contained in function code that is not the function code of an
     ArrowFunction.
+features: [new.target]
 ---*/
 
 var caught;
diff --git a/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
index cbe64efe1d9f71c5a0562ffb93b0b317c3dd6fd3..248b1de6d0ebdc9e638d75b86446596582479a16 100644
--- a/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
+++ b/test/language/expressions/arrow-function/lexical-new.target-closure-returned.js
@@ -14,6 +14,7 @@ description: >
     The non-normative note elaborates on the "scope" argument:
 
     An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+features: [arrow-function, new.target]
 ---*/
 
 function F() {
diff --git a/test/language/expressions/arrow-function/lexical-new.target.js b/test/language/expressions/arrow-function/lexical-new.target.js
index ef76c6bd83dc07a841aa81048a0b6c0199816df4..b44ad6b937b817127d14a192ca9924295e8b3585 100644
--- a/test/language/expressions/arrow-function/lexical-new.target.js
+++ b/test/language/expressions/arrow-function/lexical-new.target.js
@@ -14,6 +14,7 @@ description: >
     The non-normative note elaborates on the "scope" argument:
 
     An ArrowFunction does not define local bindings for arguments, super, this, or new.target. Any reference to arguments, super, or this within an ArrowFunction must resolve to a binding in a lexically enclosing environment. Typically this will be the Function Environment of an immediately enclosing function. Even though an ArrowFunction may contain references to super, the function object created in step 4 is not made into a method by performing MakeMethod. An ArrowFunction that references super is always contained within a non-ArrowFunction and the necessary state to implement super is accessible via the scope that is captured by the function object of the ArrowFunction.
+features: [arrow-function, new.target]
 ---*/
 
 var functionInvocationCount = 0;
diff --git a/test/language/expressions/assignment/target-cover-newtarget.js b/test/language/expressions/assignment/target-cover-newtarget.js
index 03ba2e29f4fb2e57e5c1fdcd1a862d570f264d22..34ab263b491865b1ae743fd4f94c2042c6faf139 100644
--- a/test/language/expressions/assignment/target-cover-newtarget.js
+++ b/test/language/expressions/assignment/target-cover-newtarget.js
@@ -21,6 +21,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/assignment/target-newtarget.js b/test/language/expressions/assignment/target-newtarget.js
index 822d6a9fb92d9aa1f153b71205f8a46245c906d1..1c14fee0f31b9d6dda7b1b8ac059ae64274ead70 100644
--- a/test/language/expressions/assignment/target-newtarget.js
+++ b/test/language/expressions/assignment/target-newtarget.js
@@ -21,6 +21,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/class/fields-direct-eval-err-contains-newtarget.js b/test/language/expressions/class/fields-direct-eval-err-contains-newtarget.js
index 18e70afd0489fb1ed3d214aceaeffa8dbe6d5bd7..94cb63a9ea77d5828664dd50155863781766624c 100644
--- a/test/language/expressions/class/fields-direct-eval-err-contains-newtarget.js
+++ b/test/language/expressions/class/fields-direct-eval-err-contains-newtarget.js
@@ -4,7 +4,7 @@
 /*---
 description: error if `new.target` in StatementList of eval (direct eval)
 esid: sec-performeval-rules-in-initializer
-features: [class, class-fields-public]
+features: [class, class-fields-public, new.target]
 flags: [generated]
 info: |
     Additional Early Error Rules for Eval Inside Initializer
diff --git a/test/language/expressions/class/fields-indirect-eval-err-contains-newtarget.js b/test/language/expressions/class/fields-indirect-eval-err-contains-newtarget.js
index 5334c569ba7f1689c06d3f93851860242fd540bb..84a0c29d709e4581ff22bdd0cc18fbbcc137c967 100644
--- a/test/language/expressions/class/fields-indirect-eval-err-contains-newtarget.js
+++ b/test/language/expressions/class/fields-indirect-eval-err-contains-newtarget.js
@@ -4,7 +4,7 @@
 /*---
 description: error if `new.target` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
-features: [class, class-fields-public]
+features: [class, class-fields-public, new.target]
 flags: [generated]
 info: |
     Additional Early Error Rules for Eval Inside Initializer
diff --git a/test/language/expressions/new.target/value-via-call.js b/test/language/expressions/new.target/value-via-call.js
index 40fdf413529cbe9d0436aa519cd9c0afc0f0ba01..9bd85d05a3550b6334dbe91e3f5359619f996de3 100644
--- a/test/language/expressions/new.target/value-via-call.js
+++ b/test/language/expressions/new.target/value-via-call.js
@@ -9,6 +9,7 @@ info: |
 
   [...]
   8. Return ? EvaluateDirectCall(func, thisValue, Arguments, tailCall).
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-fpapply.js b/test/language/expressions/new.target/value-via-fpapply.js
index a1b3c1e8ee2002b1db6ce03455a4ce14891414a7..7fab5ee16b914b40ce384d5892990314ec10cfb0 100644
--- a/test/language/expressions/new.target/value-via-fpapply.js
+++ b/test/language/expressions/new.target/value-via-fpapply.js
@@ -7,6 +7,7 @@ description: Value when invoked via `Function.prototype.apply`
 info: |
   [...]
   5. Return ? Call(func, thisArg, argList).
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-fpcall.js b/test/language/expressions/new.target/value-via-fpcall.js
index 7f4d89b51f29f8331a03bcb1efc128ff5fab4620..5c32d8f3bd689e71bff89c442209732de6a19591 100644
--- a/test/language/expressions/new.target/value-via-fpcall.js
+++ b/test/language/expressions/new.target/value-via-fpcall.js
@@ -7,6 +7,7 @@ description: Value when invoked via `Function.prototype.call`
 info: |
   [...]
   5. Return ? Call(func, thisArg, argList).
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-member.js b/test/language/expressions/new.target/value-via-member.js
index 2ba06cf2a342178260b06cc4aff6ae8aba23b878..baaedf8e14fa0353f2fe6a34c6d4cd0bc3ffa724 100644
--- a/test/language/expressions/new.target/value-via-member.js
+++ b/test/language/expressions/new.target/value-via-member.js
@@ -18,6 +18,7 @@ info: |
 
   1. Let exprRef be the result of evaluating Expression.
   2. Return ? GetValue(exprRef).
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-new.js b/test/language/expressions/new.target/value-via-new.js
index 5715b5becbaeff8907588f6d66a458d4d0e8ce73..06af2631d9299ae07d37c5d287ec5a4577384d58 100644
--- a/test/language/expressions/new.target/value-via-new.js
+++ b/test/language/expressions/new.target/value-via-new.js
@@ -21,6 +21,7 @@ info: |
   7.3.13 Construct (F [ , argumentsList [ , newTarget ]])
 
   1. If newTarget was not passed, let newTarget be F.
+features: [new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-reflect-apply.js b/test/language/expressions/new.target/value-via-reflect-apply.js
index a9b27cb9ce4d3e8ec05d503cafe829385ef76b7c..2c621c75e4f13b6717389cf142c0bce8d5a1e276 100644
--- a/test/language/expressions/new.target/value-via-reflect-apply.js
+++ b/test/language/expressions/new.target/value-via-reflect-apply.js
@@ -7,7 +7,7 @@ description: Value when invoked via `Reflect.apply`
 info: |
   [...]
   5. Return ? Call(target, thisArgument, args).
-features: [Reflect]
+features: [new.target, Reflect]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-reflect-construct.js b/test/language/expressions/new.target/value-via-reflect-construct.js
index a5240d5694a1ec0ae78280792e323837648af9db..f945adde61e465059f63a0defc125f0acd0d454b 100644
--- a/test/language/expressions/new.target/value-via-reflect-construct.js
+++ b/test/language/expressions/new.target/value-via-reflect-construct.js
@@ -9,7 +9,7 @@ info: |
   2. If newTarget is not present, let newTarget be target.
   [...]
   5. Return ? Construct(target, args, newTarget).
-features: [Reflect]
+features: [new.target, Reflect, Reflect.construct]
 ---*/
 
 var customNewTarget = function() {};
diff --git a/test/language/expressions/new.target/value-via-super-call.js b/test/language/expressions/new.target/value-via-super-call.js
index b1a482d3bdb0efb50ad280354aabf568c1448a7a..a582c08d004f7e9fedb2c90a255643c021a7305f 100644
--- a/test/language/expressions/new.target/value-via-super-call.js
+++ b/test/language/expressions/new.target/value-via-super-call.js
@@ -11,7 +11,7 @@ info: |
   [...]
   6. Let result be ? Construct(func, argList, newTarget).
   [...]
-features: [class]
+features: [class, new.target]
 ---*/
 
 var baseNewTarget, parentNewTarget;
diff --git a/test/language/expressions/new.target/value-via-super-property.js b/test/language/expressions/new.target/value-via-super-property.js
index 18eaffbe74afbc339e8863a317352676cde87b7f..379c3f0dca40ca48994f8b986ac665f058ad8d09 100644
--- a/test/language/expressions/new.target/value-via-super-property.js
+++ b/test/language/expressions/new.target/value-via-super-property.js
@@ -11,7 +11,7 @@ info: |
   [...]
   6. Let result be ? Construct(func, argList, newTarget).
   [...]
-features: [class]
+features: [class, new.target]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/new.target/value-via-tagged-template.js b/test/language/expressions/new.target/value-via-tagged-template.js
index 62242916b94334a5f1424578acfdba02c3fd4488..61b8a4d52d407ba87cbbd51ce6f361df0344d365 100644
--- a/test/language/expressions/new.target/value-via-tagged-template.js
+++ b/test/language/expressions/new.target/value-via-tagged-template.js
@@ -9,7 +9,7 @@ info: |
 
    [...]
    4. Return ? EvaluateCall(tagRef, TemplateLiteral, tailCall).
-features: [template]
+features: [new.target, template]
 ---*/
 
 var newTarget = null;
diff --git a/test/language/expressions/postfix-decrement/target-cover-newtarget.js b/test/language/expressions/postfix-decrement/target-cover-newtarget.js
index c7c3112ecc613bbae70b62ab5bc13fea9324714b..f99504b1598adf058bc70f6fb831a904282df0de 100644
--- a/test/language/expressions/postfix-decrement/target-cover-newtarget.js
+++ b/test/language/expressions/postfix-decrement/target-cover-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/postfix-decrement/target-newtarget.js b/test/language/expressions/postfix-decrement/target-newtarget.js
index f134d1872b1c46aa622527c885c72329f6db91df..8d3e98b40729cec0cb16e94b4b0348d2545e2278 100644
--- a/test/language/expressions/postfix-decrement/target-newtarget.js
+++ b/test/language/expressions/postfix-decrement/target-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/postfix-increment/target-cover-newtarget.js b/test/language/expressions/postfix-increment/target-cover-newtarget.js
index 359b0fc4b4cba42176ba0582c7c0fc1aec1027ca..84747a21b40a8f00446a8624708cbc3a87ec993d 100644
--- a/test/language/expressions/postfix-increment/target-cover-newtarget.js
+++ b/test/language/expressions/postfix-increment/target-cover-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/postfix-increment/target-newtarget.js b/test/language/expressions/postfix-increment/target-newtarget.js
index a84c784e961eceb784115eb60fcbc2bcb62a8165..81db503c0da32433e3a44548c6aeac4fd90c813c 100644
--- a/test/language/expressions/postfix-increment/target-newtarget.js
+++ b/test/language/expressions/postfix-increment/target-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/prefix-decrement/target-cover-newtarget.js b/test/language/expressions/prefix-decrement/target-cover-newtarget.js
index 40ae5349a62911fd6f89fa96ecd8fdf54abb0893..c67f78771582cdc34d22a7060b6bddd9cb576759 100644
--- a/test/language/expressions/prefix-decrement/target-cover-newtarget.js
+++ b/test/language/expressions/prefix-decrement/target-cover-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/prefix-decrement/target-newtarget.js b/test/language/expressions/prefix-decrement/target-newtarget.js
index c2dadc17bc9659f4725540915c41ac0471724b43..4d1b8b06d6ea95329b1b4ac735a1f7edad54fa9a 100644
--- a/test/language/expressions/prefix-decrement/target-newtarget.js
+++ b/test/language/expressions/prefix-decrement/target-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/prefix-increment/target-cover-newtarget.js b/test/language/expressions/prefix-increment/target-cover-newtarget.js
index 0a91e7bd10a8463a8f730c76c0347dd0283bc1d8..fc7295a5e6d40d485fd3989a1aedd90c6b699dca 100644
--- a/test/language/expressions/prefix-increment/target-cover-newtarget.js
+++ b/test/language/expressions/prefix-increment/target-cover-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/prefix-increment/target-newtarget.js b/test/language/expressions/prefix-increment/target-newtarget.js
index cbf7a4e9c7290b38f79b760018600d54e24e23ee..5bb720df9d4eebde9fc672514b612b8b3e326294 100644
--- a/test/language/expressions/prefix-increment/target-newtarget.js
+++ b/test/language/expressions/prefix-increment/target-newtarget.js
@@ -22,6 +22,7 @@ info: |
 negative:
   phase: parse
   type: ReferenceError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/expressions/super/call-construct-invocation.js b/test/language/expressions/super/call-construct-invocation.js
index 4b31ec43fca1532abfdcf668dee4006432f97a77..7a3f8bffa3a43c8bc3d8221b089caea9fe56996a 100644
--- a/test/language/expressions/super/call-construct-invocation.js
+++ b/test/language/expressions/super/call-construct-invocation.js
@@ -8,7 +8,7 @@ info: |
   [...]
   6. Let result be ? Construct(func, argList, newTarget).
   [...]
-features: [class, Reflect]
+features: [class, new.target, Reflect, Reflect.construct]
 ---*/
 
 var expectedNewTarget = function() {};
diff --git a/test/language/global-code/new.target-arrow.js b/test/language/global-code/new.target-arrow.js
index 1c9c7c9bfa008948209c88764af71dbdccff9418..a39139a6aa77ef60e7d705c598c0af8d8f034f1c 100644
--- a/test/language/global-code/new.target-arrow.js
+++ b/test/language/global-code/new.target-arrow.js
@@ -24,7 +24,7 @@ info: |
   NOTE Normally, Contains does not look inside most function forms. However,
        Contains is used to detect new.target, this, and super usage within an
        ArrowFunction.
-features: [arrow-function]
+features: [arrow-function, new.target]
 negative:
   phase: parse
   type: SyntaxError
diff --git a/test/language/global-code/new.target.js b/test/language/global-code/new.target.js
index 85a5fdb71be1d8abe7137212c70cf699ec3c7fa7..881c35a61eb4f47f47b0b4da2d1618cf6cba6422 100644
--- a/test/language/global-code/new.target.js
+++ b/test/language/global-code/new.target.js
@@ -12,6 +12,7 @@ info: |
 negative: 
   phase: parse
   type: SyntaxError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/module-code/early-new-target.js b/test/language/module-code/early-new-target.js
index ac47e65b310b8291a42f877d6e809706757a30e7..9acafb7fdc8fb85dac54d65c08179320452bcb9a 100644
--- a/test/language/module-code/early-new-target.js
+++ b/test/language/module-code/early-new-target.js
@@ -8,6 +8,7 @@ flags: [module]
 negative:
   phase: parse
   type: SyntaxError
+features: [new.target]
 ---*/
 
 throw "Test262: This statement should not be evaluated.";
diff --git a/test/language/statements/class/fields-direct-eval-err-contains-newtarget.js b/test/language/statements/class/fields-direct-eval-err-contains-newtarget.js
index f78cdd02686f36c21f3219635308fe1bd7534523..e24b3848785051551f5acb5811756e21b0f8bcdb 100644
--- a/test/language/statements/class/fields-direct-eval-err-contains-newtarget.js
+++ b/test/language/statements/class/fields-direct-eval-err-contains-newtarget.js
@@ -4,7 +4,7 @@
 /*---
 description: error if `new.target` in StatementList of eval (direct eval)
 esid: sec-performeval-rules-in-initializer
-features: [class, class-fields-public]
+features: [class, class-fields-public, new.target]
 flags: [generated]
 info: |
     Additional Early Error Rules for Eval Inside Initializer
diff --git a/test/language/statements/class/fields-indirect-eval-err-contains-newtarget.js b/test/language/statements/class/fields-indirect-eval-err-contains-newtarget.js
index 84de701471d30fcc4a328c9a56bdc08cd57812a0..fb408f497d793c672f21cf8665f88228239209ba 100644
--- a/test/language/statements/class/fields-indirect-eval-err-contains-newtarget.js
+++ b/test/language/statements/class/fields-indirect-eval-err-contains-newtarget.js
@@ -4,7 +4,7 @@
 /*---
 description: error if `new.target` in StatementList of eval (indirect eval)
 esid: sec-performeval-rules-in-initializer
-features: [class, class-fields-public]
+features: [class, class-fields-public, new.target]
 flags: [generated]
 info: |
     Additional Early Error Rules for Eval Inside Initializer