diff --git a/test/annexB/built-ins/RegExp/named-groups/non-unicode-malformed.js b/test/annexB/built-ins/RegExp/named-groups/non-unicode-malformed.js
new file mode 100644
index 0000000000000000000000000000000000000000..89911e13bf1a33d022aa06e1c5a7a1210dc6cda3
--- /dev/null
+++ b/test/annexB/built-ins/RegExp/named-groups/non-unicode-malformed.js
@@ -0,0 +1,27 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+  Named groups in Unicode RegExps have some syntax errors and some
+  compatibility escape fallback behavior.
+esid: prod-GroupSpecifier
+features: [regexp-named-groups, regexp-lookbehind]
+includes: [compareArray.js]
+---*/
+
+assert(/\k<a>/.test("k<a>"));
+assert(/\k<4>/.test("k<4>"));
+assert(/\k<a/.test("k<a"));
+assert(/\k/.test("k"));
+
+assert(/(?<a>\a)/.test("a"));
+
+assert(compareArray(["k<a>"], "xxxk<a>xxx".match(/\k<a>/)));
+assert(compareArray(["k<a"], "xxxk<a>xxx".match(/\k<a/)));
+
+// A couple of corner cases around '\k' as named back-references vs. identity
+// escapes.
+assert(/\k<a>(?<=>)a/.test("k<a>a"));
+assert(/\k<a>(?<!a)a/.test("k<a>a"));
+assert(/\k<a>(<a>x)/.test("k<a><a>x"));
diff --git a/test/built-ins/RegExp/named-groups/non-unicode-malformed.js b/test/built-ins/RegExp/named-groups/non-unicode-malformed.js
index 74d319a6a2d2ccf0cba6a8dbc7f1d8779290e071..37d47a692a2acf2c8ad2b4db9d6c70de3828d52c 100644
--- a/test/built-ins/RegExp/named-groups/non-unicode-malformed.js
+++ b/test/built-ins/RegExp/named-groups/non-unicode-malformed.js
@@ -6,7 +6,7 @@ description: >
   Named groups in Unicode RegExps have some syntax errors and some
   compatibility escape fallback behavior.
 esid: prod-GroupSpecifier
-features: [regexp-named-groups, regexp-lookbehind]
+features: [regexp-named-groups]
 includes: [compareArray.js]
 ---*/
 
@@ -17,10 +17,7 @@ assert.throws(SyntaxError, () => eval("/(?<:a>a)/"));
 assert.throws(SyntaxError, () => eval("/(?<a:>a)/"));
 assert.throws(SyntaxError, () => eval("/(?<a>a)(?<a>a)/"));
 assert.throws(SyntaxError, () => eval("/(?<a>a)(?<b>b)(?<a>a)/"));
-assert(/\k<a>/.test("k<a>"));
-assert(/\k<4>/.test("k<4>"));
-assert(/\k<a/.test("k<a"));
-assert(/\k/.test("k"));
+
 assert.throws(SyntaxError, () => eval("/(?<a>.)\\k/"));
 assert.throws(SyntaxError, () => eval("/(?<a>.)\\k<a/"));
 assert.throws(SyntaxError, () => eval("/(?<a>.)\\k<>/"));
@@ -29,16 +26,9 @@ assert.throws(SyntaxError, () => eval("/(?<a>a)\\k<ab>/"));
 assert.throws(SyntaxError, () => eval("/(?<ab>a)\\k<a>/"));
 assert.throws(SyntaxError, () => eval("/\\k<a>(?<ab>a)/"));
 assert.throws(SyntaxError, () => eval("/\\k<a(?<a>a)/"));
-assert(/(?<a>\a)/.test("a"));
-
-assert(compareArray(["k<a>"], "xxxk<a>xxx".match(/\k<a>/)));
-assert(compareArray(["k<a"], "xxxk<a>xxx".match(/\k<a/)));
 
 // A couple of corner cases around '\k' as named back-references vs. identity
 // escapes.
-assert(/\k<a>(?<=>)a/.test("k<a>a"));
-assert(/\k<a>(?<!a)a/.test("k<a>a"));
-assert(/\k<a>(<a>x)/.test("k<a><a>x"));
 assert(/\k<a>(?<a>x)/.test("x"));
 assert.throws(SyntaxError, () => eval("/\\k<a>(?<b>x)/"));
 assert.throws(SyntaxError, () => eval("/\\k<a(?<a>.)/"));