diff --git a/src/class-fields/propname-constructor.case b/src/class-fields/propname-constructor.case
index a700e991198123e04e1e0d9d7ad11d22cf3f03ff..3353606ddb8d09b79ad488e37634c6d637f087cb 100644
--- a/src/class-fields/propname-constructor.case
+++ b/src/class-fields/propname-constructor.case
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: Static class fields cannot have PropName 'constructor'
+desc: class fields forbid PropName 'constructor'
 info: |
 
   // This test file tests the following early error:
diff --git a/src/class-fields/propname-error/cls-decl-computed-name.template b/src/class-fields/propname-error/cls-decl-computed-name.template
index 72e252f80884f7457cbe5e53d78fbc053b021f8d..406a209707dab4763058f471022dd314228fb338 100644
--- a/src/class-fields/propname-error/cls-decl-computed-name.template
+++ b/src/class-fields/propname-error/cls-decl-computed-name.template
@@ -4,7 +4,7 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/statements/class/fields-computed-name-
-name: computed
+name: no early error -- PropName of ComputedPropertyName not forbidden value
 info: |
   Static Semantics: PropName
   ...
diff --git a/src/class-fields/propname-error/cls-decl-literal-name.template b/src/class-fields/propname-error/cls-decl-literal-name.template
index b51b78ef2010dc1e40dbfca41409f7b287229f75..3c4ce9e9e74346d93172c72f884eb92798d1bd54 100644
--- a/src/class-fields/propname-error/cls-decl-literal-name.template
+++ b/src/class-fields/propname-error/cls-decl-literal-name.template
@@ -4,7 +4,7 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/statements/class/fields-literal-name-
-name: literal name
+name: early error -- PropName of IdentifierName is forbidden value
 negative:
   type: SyntaxError
   phase: early
diff --git a/src/class-fields/propname-error/cls-decl-string-name.template b/src/class-fields/propname-error/cls-decl-string-name.template
index 173990f6603d4acfa4ec267d2d9e68b60475ab20..743f20f744f42021d3909eaccd16a32cc3ec520b 100644
--- a/src/class-fields/propname-error/cls-decl-string-name.template
+++ b/src/class-fields/propname-error/cls-decl-string-name.template
@@ -4,14 +4,14 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/statements/class/fields-string-name-
-name: string name
+name: early error -- PropName of StringLiteral is forbidden value
 negative:
   type: SyntaxError
   phase: early
 info: |
   Static Semantics: PropName
   ...
-  LiteralPropertyName:StringLiteral
+  LiteralPropertyName : StringLiteral
     Return the String value whose code units are the SV of the StringLiteral.
 ---*/
 
diff --git a/src/class-fields/propname-error/cls-decl-variable-name.template b/src/class-fields/propname-error/cls-decl-variable-name.template
new file mode 100644
index 0000000000000000000000000000000000000000..cbda5b8319321bfe233b48adecaf8491420bbf2b
--- /dev/null
+++ b/src/class-fields/propname-error/cls-decl-variable-name.template
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-class-definitions-static-semantics-early-errors
+path: language/statements/class/fields-computed-variable-name-
+name: no early error -- PropName of ComputedPropertyName not forbidden value
+info: |
+  Static Semantics: PropName
+  ...
+  ComputedPropertyName : [ AssignmentExpression ]
+    Return empty.
+---*/
+
+var /*{ propname }*/ = 'foo';
+class C {
+  /*{ static }*/ [/*{ propname }*/];
+}
+
+var c = new C();
+
+assert.sameValue(c.hasOwnProperty("foo"), true);
diff --git a/src/class-fields/propname-error/cls-expr-computed-name.template b/src/class-fields/propname-error/cls-expr-computed-name.template
index dc37681833e49248a32957d943e8aa90996b33d3..e509263eea36c874ce0c147ec3c26216d6d0bfdc 100644
--- a/src/class-fields/propname-error/cls-expr-computed-name.template
+++ b/src/class-fields/propname-error/cls-expr-computed-name.template
@@ -4,7 +4,7 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/expressions/class/fields-computed-name-
-name: computed
+name: no early error -- PropName of ComputedPropertyName not forbidden value
 info: |
   Static Semantics: PropName
   ...
diff --git a/src/class-fields/propname-error/cls-expr-literal-name.template b/src/class-fields/propname-error/cls-expr-literal-name.template
index 84d8310abb8612ad2b2306a258752c622c5db22b..bd87b81d2ae7a812ac3a0937aa82b9134dd12557 100644
--- a/src/class-fields/propname-error/cls-expr-literal-name.template
+++ b/src/class-fields/propname-error/cls-expr-literal-name.template
@@ -4,7 +4,7 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/expressions/class/fields-literal-name-
-name: literal name
+name: early error -- PropName of IdentifierName is forbidden
 negative:
   type: SyntaxError
   phase: early
diff --git a/src/class-fields/propname-error/cls-expr-string-name.template b/src/class-fields/propname-error/cls-expr-string-name.template
index b6a3af65c2c2b73d160e2fb06537ace6f363bd33..189a1bd80f473c60a3a5730fffc17e035cba1d59 100644
--- a/src/class-fields/propname-error/cls-expr-string-name.template
+++ b/src/class-fields/propname-error/cls-expr-string-name.template
@@ -4,14 +4,14 @@
 /*---
 esid: sec-class-definitions-static-semantics-early-errors
 path: language/expressions/class/fields-string-name-
-name: string name
+name: early error -- PropName of StringLiteral is forbidden
 negative:
   type: SyntaxError
   phase: early
 info: |
   Static Semantics: PropName
   ...
-  LiteralPropertyName:StringLiteral
+  LiteralPropertyName : StringLiteral
     Return the String value whose code units are the SV of the StringLiteral.
 ---*/
 
diff --git a/src/class-fields/propname-error/cls-expr-variable-name.template b/src/class-fields/propname-error/cls-expr-variable-name.template
new file mode 100644
index 0000000000000000000000000000000000000000..50b255197f9f61549b18e6db7c36150cf0c7bcaf
--- /dev/null
+++ b/src/class-fields/propname-error/cls-expr-variable-name.template
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 Valerie Young. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-class-definitions-static-semantics-early-errors
+path: language/expressions/class/fields-computed-variable-name-
+name: no early error -- PropName of ComputedPropertyName not forbidden value
+info: |
+  Static Semantics: PropName
+  ...
+  ComputedPropertyName : [ AssignmentExpression ]
+    Return empty.
+---*/
+
+var /*{ propname }*/ = 'foo';
+var C = class {
+  /*{ static }*/ [/*{ propname }*/];
+}
+
+var c = new C();
+
+assert.sameValue(c.hasOwnProperty("foo"), true);
diff --git a/src/class-fields/static-propname-constructor.case b/src/class-fields/static-propname-constructor.case
index ffa6754e204b53655c8071149d36d7b80ba18891..ff3d00af6abefb7d68838d00e5ec6130bd877d3d 100644
--- a/src/class-fields/static-propname-constructor.case
+++ b/src/class-fields/static-propname-constructor.case
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: Static class field cannot have PropName 'constructor'
+desc: static class field forbid PropName 'constructor'
 info: |
 
   // This test file tests the following early error:
diff --git a/src/class-fields/static-propname-prototype.case b/src/class-fields/static-propname-prototype.case
index 9b2e9ab331b5596924fbf38a1c1f1fd2f555b8b0..99d85ff64a6c5118290ce2d77fb0c3b7c42326b7 100644
--- a/src/class-fields/static-propname-prototype.case
+++ b/src/class-fields/static-propname-prototype.case
@@ -2,7 +2,7 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-desc: Static class fields cannot have PropName 'prototype'
+desc: static class fields forbid PropName 'prototype'
 info: |
 
   // This test file tests the following early error: