diff --git a/test/language/expressions/assignment/11.13.1-1-1.js b/test/language/expressions/assignment/11.13.1-1-1.js
deleted file mode 100644
index 5bc0891b1568b12de2dbffc146fbe6394958ff59..0000000000000000000000000000000000000000
--- a/test/language/expressions/assignment/11.13.1-1-1.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1)
-es5id: 11.13.1-1-1
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (number)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("42 = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-2.js b/test/language/expressions/assignment/11.13.1-1-2.js
deleted file mode 100644
index 8f42ba35b2a65ff7e725deb5b05428432b06ecee..0000000000000000000000000000000000000000
--- a/test/language/expressions/assignment/11.13.1-1-2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-2
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (string)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("'x' = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-3.js b/test/language/expressions/assignment/11.13.1-1-3.js
deleted file mode 100644
index 196821e97b679663e0bd101e143731bc8eddca0b..0000000000000000000000000000000000000000
--- a/test/language/expressions/assignment/11.13.1-1-3.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-3
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (boolean)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("true = 42");
-});
diff --git a/test/language/expressions/assignment/11.13.1-1-4.js b/test/language/expressions/assignment/11.13.1-1-4.js
deleted file mode 100644
index 4a5cb16340f7046e13e8c5395e29629837ab3bba..0000000000000000000000000000000000000000
--- a/test/language/expressions/assignment/11.13.1-1-4.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: PutValue operates only on references (see step 1).
-es5id: 11.13.1-1-4
-description: >
-    simple assignment throws ReferenceError if LeftHandSide is not a
-    reference (null)
----*/
-
-
-assert.throws(ReferenceError, function() {
-    eval("null = 42");
-});
diff --git a/test/language/expressions/assignment/target-boolean.js b/test/language/expressions/assignment/target-boolean.js
new file mode 100644
index 0000000000000000000000000000000000000000..2022f0212091eaea1381e208aaedceaef8b49b2b
--- /dev/null
+++ b/test/language/expressions/assignment/target-boolean.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-3
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (boolean)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+true = 42;
diff --git a/test/language/expressions/assignment/target-null.js b/test/language/expressions/assignment/target-null.js
new file mode 100644
index 0000000000000000000000000000000000000000..2b51226a374f3e75a1b753067e72a0063c743ece
--- /dev/null
+++ b/test/language/expressions/assignment/target-null.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-4
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (null)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+null = 42;
diff --git a/test/language/expressions/assignment/target-number.js b/test/language/expressions/assignment/target-number.js
new file mode 100644
index 0000000000000000000000000000000000000000..7301d805ae43eaf3dac08f21d9a70a40a055aa3f
--- /dev/null
+++ b/test/language/expressions/assignment/target-number.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-1
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (number)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+42 = 42;
diff --git a/test/language/expressions/assignment/target-string.js b/test/language/expressions/assignment/target-string.js
new file mode 100644
index 0000000000000000000000000000000000000000..ef0c984e88fc022b8f9c7a89f81e2c2e569c4846
--- /dev/null
+++ b/test/language/expressions/assignment/target-string.js
@@ -0,0 +1,21 @@
+// Copyright (c) 2012 Ecma International.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-assignment-operators-static-semantics-early-errors
+es5id: 11.13.1-1-2
+description: >
+    simple assignment throws ReferenceError if LeftHandSide is not a
+    reference (string)
+info: |
+    AssignmentExpression : LeftHandSideExpression = AssignmentExpression
+
+    It is an early Reference Error if LeftHandSideExpression is neither an
+    ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget of
+    LeftHandSideExpression is false.
+negative:
+  phase: early
+  type: ReferenceError
+---*/
+
+'x' = 42;