diff --git a/test/language/statements/debugger/expression.js b/test/language/statements/debugger/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..c335e4e2b54a1de182647f6fa6ce169069897ec9
--- /dev/null
+++ b/test/language/statements/debugger/expression.js
@@ -0,0 +1,10 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: The `debugger` token may not occupy an expression position
+esid: sec-debugger-statement
+es6id: 13.16
+negative: SyntaxError
+---*/
+
+(debugger);
diff --git a/test/language/statements/debugger/statement.js b/test/language/statements/debugger/statement.js
new file mode 100644
index 0000000000000000000000000000000000000000..2fbe43dd57938b90536e270fa1f97d9349f985bd
--- /dev/null
+++ b/test/language/statements/debugger/statement.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: The `debugger` token may occupy a statement position
+esid: sec-debugger-statement
+es6id: 13.16
+---*/
+
+// Expressing within a `while` statement ensures that the `debugger  keyword is
+// not erroneously interpreted as a declaration. It also avoids statement
+// evaluation, which is host-defined an may interrupt test execution.
+while (false) debugger;