diff --git a/test/language/module-code/namespace/Symbol.iterator.js b/test/language/module-code/namespace/Symbol.iterator.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed94c1db0f60dcc14f60a8d98ee7aaf6bf3a80de
--- /dev/null
+++ b/test/language/module-code/namespace/Symbol.iterator.js
@@ -0,0 +1,12 @@
+// Copyright (C) 2016 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-@@iterator
+description: Module namespace objects lack a Symbol.iterator property.
+flags: [module]
+features: [Symbol.iterator]
+---*/
+
+import * as ns from './Symbol.iterator.js';
+
+assert.sameValue(Object.prototype.hasOwnProperty.call(ns, Symbol.iterator), false);
diff --git a/test/language/module-code/namespace/Symbol.iterator/length.js b/test/language/module-code/namespace/Symbol.iterator/length.js
deleted file mode 100644
index 1bb23f3058c9f2112c2a10775f8fab82947257b1..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/length.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: Length of @@iterator method
-info: >
-    ES6 Section 17:
-    Every built-in Function object, including constructors, has a length
-    property whose value is an integer. Unless otherwise specified, this value
-    is equal to the largest number of named arguments shown in the subclause
-    headings for the function description, including optional parameters.
-
-    [...]
-
-    Unless otherwise specified, the length property of a built-in Function
-    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
-    [[Configurable]]: true }.
-flags: [module]
-includes: [propertyHelper.js]
-features: [Symbol.iterator]
----*/
-
-import * as ns from './length.js';
-
-assert.sameValue(ns[Symbol.iterator].length, 0);
-
-verifyNotEnumerable(ns[Symbol.iterator], 'length');
-verifyNotWritable(ns[Symbol.iterator], 'length');
-verifyConfigurable(ns[Symbol.iterator], 'length');
diff --git a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-length.js b/test/language/module-code/namespace/Symbol.iterator/list-iter-next-length.js
deleted file mode 100644
index d103af8cf5155e5f7e0935c9786a8a4afbe68b03..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-length.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: Length of List iterator returned by @@iterator method
-info: >
-    ES6 Section 17:
-    Every built-in Function object, including constructors, has a length
-    property whose value is an integer. Unless otherwise specified, this value
-    is equal to the largest number of named arguments shown in the subclause
-    headings for the function description, including optional parameters.
-
-    [...]
-
-    Unless otherwise specified, the length property of a built-in Function
-    object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
-    [[Configurable]]: true }.
-flags: [module]
-includes: [propertyHelper.js]
-features: [Symbol.iterator]
----*/
-
-import * as ns from './list-iter-next-length.js';
-
-var next = ns[Symbol.iterator]().next;
-
-assert.sameValue(next.length, 0);
-
-verifyNotEnumerable(next, 'length');
-verifyNotWritable(next, 'length');
-verifyConfigurable(next, 'length');
diff --git a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-name.js b/test/language/module-code/namespace/Symbol.iterator/list-iter-next-name.js
deleted file mode 100644
index f2164f315253e39046a538f158027f48f85bff14..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-name.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: >
-    Descriptor for `name` property of ListIterator returned by @@iterator
-    method
-info: >
-  The value of the name property of this function is "[Symbol.iterator]".
-
-  ES6 Section 17: ECMAScript Standard Built-in Objects
-
-  Every built-in Function object, including constructors, that is not
-  identified as an anonymous function has a name property whose value is a
-  String. Unless otherwise specified, this value is the name that is given to
-  the function in this specification.
-
-  [...]
-
-  Unless otherwise specified, the name property of a built-in Function
-  object, if it exists, has the attributes { [[Writable]]: false,
-  [[Enumerable]]: false, [[Configurable]]: true }.
-flags: [module]
-features: [Symbol.iterator]
-includes: [propertyHelper.js]
----*/
-
-import * as ns from './list-iter-next-name.js';
-
-var next = ns[Symbol.iterator]().next;
-
-assert.sameValue(next.name, 'next');
-
-verifyNotEnumerable(next, 'name');
-verifyNotWritable(next, 'name');
-verifyConfigurable(next, 'name');
diff --git a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-prop-desc.js b/test/language/module-code/namespace/Symbol.iterator/list-iter-next-prop-desc.js
deleted file mode 100644
index e342c4fd05aa97b0e796a82fad5ca5a397178ba5..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/list-iter-next-prop-desc.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: Property descriptor
-info: >
-    ES6 Section 17
-
-    Every other data property described in clauses 18 through 26 and in Annex
-    B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
-    [[Configurable]]: true } unless otherwise specified.
-flags: [module]
-includes: [propertyHelper.js]
-features: [Symbol.iterator]
----*/
-
-import * as ns from './list-iter-next-prop-desc.js';
-var iter = ns[Symbol.iterator]();
-
-assert.sameValue(typeof iter.next, 'function');
-verifyNotEnumerable(iter, 'next');
-verifyWritable(iter, 'next');
-verifyConfigurable(iter, 'next');
diff --git a/test/language/module-code/namespace/Symbol.iterator/name.js b/test/language/module-code/namespace/Symbol.iterator/name.js
deleted file mode 100644
index eff3f024cc9082f49207a22a2fe5317ccd790988..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/name.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: Descriptor for `name` property
-info: >
-  The value of the name property of this function is "[Symbol.iterator]".
-
-  ES6 Section 17: ECMAScript Standard Built-in Objects
-
-  Every built-in Function object, including constructors, that is not
-  identified as an anonymous function has a name property whose value is a
-  String. Unless otherwise specified, this value is the name that is given to
-  the function in this specification.
-
-  [...]
-
-  Unless otherwise specified, the name property of a built-in Function
-  object, if it exists, has the attributes { [[Writable]]: false,
-  [[Enumerable]]: false, [[Configurable]]: true }.
-flags: [module]
-features: [Symbol.iterator]
-includes: [propertyHelper.js]
----*/
-
-import * as ns from './name.js';
-
-assert.sameValue(ns[Symbol.iterator].name, '[Symbol.iterator]');
-
-verifyNotEnumerable(ns[Symbol.iterator], 'name');
-verifyNotWritable(ns[Symbol.iterator], 'name');
-verifyConfigurable(ns[Symbol.iterator], 'name');
diff --git a/test/language/module-code/namespace/Symbol.iterator/prop-desc.js b/test/language/module-code/namespace/Symbol.iterator/prop-desc.js
deleted file mode 100644
index d6c19226c49847662c5010cda68417565358d5a3..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/prop-desc.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: Property descriptor
-info: >
-    ES6 Section 17
-
-    Every other data property described in clauses 18 through 26 and in Annex
-    B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
-    [[Configurable]]: true } unless otherwise specified.
-flags: [module]
-features: [Symbol.iterator]
----*/
-
-import * as ns from './prop-desc.js';
-
-assert.sameValue(typeof ns[Symbol.iterator], 'function');
-
-// propertyHelper.js is not appropriate for this test because it assumes that
-// the object exposes the ordinary object's implementation of [[Get]], [[Set]],
-// [[Delete]], and [[OwnPropertyKeys]], which the module namespace exotic
-// object does not.
-var desc = Object.getOwnPropertyDescriptor(ns, Symbol.iterator);
-
-assert.sameValue(desc.enumerable, false, 'reports as non-enumerable');
-assert.sameValue(desc.writable, true, 'reports as writable');
-assert.sameValue(desc.configurable, true, 'reports as configurable');
diff --git a/test/language/module-code/namespace/Symbol.iterator/this-val-not-ns.js b/test/language/module-code/namespace/Symbol.iterator/this-val-not-ns.js
deleted file mode 100644
index 9e0d1bc1627e188e8769f44c40cbbf75e3114a92..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/this-val-not-ns.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-es6id: 26.3.2
-description: >
-    Behavior when the `this` value is not a module namespace exotic object
-info: |
-    1. Let N be the this value.
-    2. If N is not a module namespace exotic object, throw a TypeError
-       exception.
-flags: [module]
-features: [Symbol.iterator]
----*/
-
-import * as ns from './this-val-not-ns.js';
-
-var iter = ns[Symbol.iterator];
-
-assert.sameValue(typeof iter, 'function');
-
-assert.throws(TypeError, function() {
-  iter();
-}, 'undefined');
-
-assert.throws(TypeError, function() {
-  iter.call({});
-}, 'ordinary object');
-
-assert.throws(TypeError, function() {
-  iter.call([]);
-}, 'Array exotic object');
-
-assert.throws(TypeError, function() {
-  iter.call(23);
-}, 'number literal');
-
-assert.throws(TypeError, function() {
-  iter.call(null);
-}, 'null');
-
-assert.throws(TypeError, function() {
-  iter.call('string literal');
-}, 'string literal');
-
-assert.throws(TypeError, function() {
-  iter.call(Symbol.iterator);
-}, 'symbol');
diff --git a/test/language/module-code/namespace/Symbol.iterator/values-binding-types.js b/test/language/module-code/namespace/Symbol.iterator/values-binding-types.js
deleted file mode 100644
index 10c2ba48045c8f1465b289a9c890c249e20fcb99..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/values-binding-types.js
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-description: Iteration over exported names
-info: >
-    15.2.1.18 Runtime Semantics: GetModuleNamespace
-
-    [...]
-    3. If namespace is undefined, then
-       a. Let exportedNames be ? module.GetExportedNames(« »).
-       b. Let unambiguousNames be a new empty List.
-       c. For each name that is an element of exportedNames,
-          i. Let resolution be ? module.ResolveExport(name, « », « »).
-          ii. If resolution is null, throw a SyntaxError exception.
-          iii. If resolution is not "ambiguous", append name to
-               unambiguousNames.
-       d. Let namespace be ModuleNamespaceCreate(module, unambiguousNames).
-    4. Return namespace.
-
-    9.4.6.12 ModuleNamespaceCreate (module, exports)
-
-    [...]
-    7. Set M's [[Exports]] internal slot to exports.
-    [...]
-
-    26.3.2 [ @@iterator ] ( )
-
-    [...]
-    3. Let exports be the value of N's [[Exports]] internal slot.
-    4. Return ! CreateListIterator(exports).
-
-    Note: identifiers have been selected such that runtimes which do not sort
-    the [[Exports]] list may still pass. A separate test is dedicated to sort
-    order.
-flags: [module]
-features: [Symbol.iterator, let]
----*/
-
-import * as ns from './values-binding-types.js';
-
-export var a_local1;
-var local2;
-export { local2 as b_renamed };
-export { a_local1 as e_indirect } from './values-binding-types.js';
-export * from './values-binding-types_FIXTURE.js';
-
-var iter = ns[Symbol.iterator]();
-var result;
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not initially done');
-assert.sameValue(result.value, 'a_local1');
-
-result = iter.next();
-assert.sameValue(result.value, 'b_renamed');
-assert.sameValue(result.done, false , 'not done after "a_local1"');
-
-result = iter.next();
-assert.sameValue(result.value, 'c_localUninit1');
-assert.sameValue(result.done, false, 'not done after "b_renamed"');
-
-result = iter.next();
-assert.sameValue(result.value, 'd_renamedUninit');
-assert.sameValue(result.done, false, 'not done after "c_localUninit1"');
-
-result = iter.next();
-assert.sameValue(result.value, 'default');
-assert.sameValue(result.done, false, 'not done after "d_renamedUninit"');
-
-result = iter.next();
-assert.sameValue(result.value, 'e_indirect');
-assert.sameValue(result.done, false, 'not done after "default"');
-
-result = iter.next();
-assert.sameValue(result.value, 'f_indirectUninit');
-assert.sameValue(result.done, false, 'not done after "e_indirect"');
-
-result = iter.next();
-assert.sameValue(result.value, 'g_star');
-assert.sameValue(result.done, false, 'not done after "f_indirectUninit"');
-
-result = iter.next();
-assert.sameValue(result.value, 'h_starRenamed');
-assert.sameValue(result.done, false, 'not done after "g_star"');
-
-result = iter.next();
-assert.sameValue(result.value, 'i_starIndirect');
-assert.sameValue(result.done, false, 'not done after "h_starRenamed"');
-
-result = iter.next();
-assert.sameValue(result.done, true, 'done after "i_starIndirect"');
-assert.sameValue(result.value, undefined);
-
-result = iter.next();
-assert.sameValue(result.done, true, 'done after exhaustion');
-assert.sameValue(result.value, undefined);
-
-export let c_localUninit1;
-let localUninit2;
-export { localUninit2 as d_renamedUninit };
-export { c_localUninit1 as f_indirectUninit } from './values-binding-types.js';
-export default null;
diff --git a/test/language/module-code/namespace/Symbol.iterator/values-binding-types_FIXTURE.js b/test/language/module-code/namespace/Symbol.iterator/values-binding-types_FIXTURE.js
deleted file mode 100644
index 4e7524eed6136cb9ee11259a6e8295cb0a698cf5..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/values-binding-types_FIXTURE.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-export var g_star;
-export { g_star as h_starRenamed };
-export { a_local1 as i_starIndirect } from './values-binding-types.js';
-
diff --git a/test/language/module-code/namespace/Symbol.iterator/values-order.js b/test/language/module-code/namespace/Symbol.iterator/values-order.js
deleted file mode 100644
index 2dc807d88d1a80439a363cc3bd626c0ff332b90b..0000000000000000000000000000000000000000
--- a/test/language/module-code/namespace/Symbol.iterator/values-order.js
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-esid: sec-@@iterator
-description: Iteration order over exported names
-info: >
-    Iteration should include all non-ambiguous export names ordered as if an
-    Array of those String values had been sorted using `Array.prototype.sort`
-    using SortCompare as *comparefunction*.
-
-    15.2.1.18 Runtime Semantics: GetModuleNamespace
-
-    [...]
-    3. If namespace is undefined, then
-       a. Let exportedNames be ? module.GetExportedNames(« »).
-       b. Let unambiguousNames be a new empty List.
-       c. For each name that is an element of exportedNames,
-          i. Let resolution be ? module.ResolveExport(name, « », « »).
-          ii. If resolution is null, throw a SyntaxError exception.
-          iii. If resolution is not "ambiguous", append name to
-               unambiguousNames.
-       d. Let namespace be ModuleNamespaceCreate(module, unambiguousNames).
-    4. Return namespace.
-
-    9.4.6.12 ModuleNamespaceCreate (module, exports)
-
-    [...]
-    7. Set M's [[Exports]] internal slot to exports.
-    [...]
-
-    26.3.2 [ @@iterator ] ( )
-
-    [...]
-    3. Let exports be the value of N's [[Exports]] internal slot.
-    4. Return ! CreateListIterator(exports).
-flags: [module]
-features: [Symbol.iterator]
----*/
-
-var x;
-export { x as π }; // u03c0
-export { x as az };
-export { x as __ };
-export { x as za };
-export { x as Z };
-export { x as \u03bc };
-export { x as z };
-export { x as zz };
-export { x as a };
-export { x as A };
-export { x as aa };
-export { x as λ }; // u03bb
-export { x as _ };
-export { x as $$ };
-export { x as $ };
-export default null;
-
-import * as ns from './values-order.js';
-
-var iter = ns[Symbol.iterator]();
-var result;
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not initially done');
-assert.sameValue(result.value, '$');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "$"');
-assert.sameValue(result.value, '$$');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "$$"');
-assert.sameValue(result.value, 'A');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "A"');
-assert.sameValue(result.value, 'Z');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "Z"');
-assert.sameValue(result.value, '_');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "_"');
-assert.sameValue(result.value, '__');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "__"');
-assert.sameValue(result.value, 'a');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "a"');
-assert.sameValue(result.value, 'aa');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "aa"');
-assert.sameValue(result.value, 'az');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "az"');
-assert.sameValue(result.value, 'default');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "default"');
-assert.sameValue(result.value, 'z');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "z"');
-assert.sameValue(result.value, 'za');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "za"');
-assert.sameValue(result.value, 'zz');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "zz"');
-assert.sameValue(result.value, '\u03bb');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "\u03bb"');
-assert.sameValue(result.value, '\u03bc');
-
-result = iter.next();
-assert.sameValue(result.done, false, 'not done following "\u03bc"');
-assert.sameValue(result.value, '\u03c0');
-
-result = iter.next();
-assert.sameValue(result.done, true, 'done following "\u03c0"');
-assert.sameValue(result.value, undefined);
-
-result = iter.next();
-assert.sameValue(result.done, true, 'done following exhaustion');
-assert.sameValue(result.value, undefined);
diff --git a/test/language/module-code/namespace/internals/define-own-property.js b/test/language/module-code/namespace/internals/define-own-property.js
index 02d7ed54852a377acfd641d957a23cfa889c4dcc..7896d546953d8add32f7f17ffaa83d7b3c016fe9 100644
--- a/test/language/module-code/namespace/internals/define-own-property.js
+++ b/test/language/module-code/namespace/internals/define-own-property.js
@@ -7,7 +7,7 @@ description: >
 info: |
     1. Return false.
 flags: [module]
-features: [Reflect, Symbol.iterator, Symbol.toStringTag]
+features: [Reflect, Symbol, Symbol.toStringTag]
 ---*/
 
 import * as ns from './define-own-property.js';
@@ -62,15 +62,6 @@ assert.throws(TypeError, function() {
   Object.defineProperty(ns, 'default', {});
 }, 'Object.defineProperty: default');
 
-assert.sameValue(
-  Reflect.defineProperty(ns, Symbol.iterator, {}),
-  false,
-  'Reflect.defineProperty: Symbol.iterator'
-);
-assert.throws(TypeError, function() {
-  Object.defineProperty(ns, Symbol.iterator, {});
-}, 'Object.defineProperty: Symbol.iterator');
-
 assert.sameValue(
   Reflect.defineProperty(ns, Symbol.toStringTag, {}),
   false,
diff --git a/test/language/module-code/namespace/internals/delete-non-exported.js b/test/language/module-code/namespace/internals/delete-non-exported.js
index aa4e43f3d68f9aba56354c623e3ce59bbd200764..9014c7298ea606332f6b3dd63684b1a21b459504 100644
--- a/test/language/module-code/namespace/internals/delete-non-exported.js
+++ b/test/language/module-code/namespace/internals/delete-non-exported.js
@@ -10,7 +10,7 @@ info: |
     3. If P is an element of exports, return false.
     4. Return true.
 flags: [module]
-features: [Reflect, Symbol, Symbol.iterator, Symbol.toStringTag]
+features: [Reflect, Symbol, Symbol.toStringTag]
 ---*/
 
 import * as ns from './delete-non-exported.js';
@@ -24,12 +24,6 @@ assert(
   Reflect.deleteProperty(ns, 'default'), 'Reflect.deleteProperty: default'
 );
 
-assert(delete ns[Symbol.iterator], 'delete: Symbol.iterator');
-assert(
-  Reflect.deleteProperty(ns, Symbol.iterator),
-  'Reflect.deleteProperty: Symbol.iterator'
-);
-
 assert(delete ns[Symbol.toStringTag], 'delete: Symbol.toStringTag');
 assert(
   Reflect.deleteProperty(ns, Symbol.toStringTag),
diff --git a/test/language/module-code/namespace/internals/get-own-property-sym.js b/test/language/module-code/namespace/internals/get-own-property-sym.js
index b645ca5ec1dc2da7bf4126e5f68ff6c4408fceca..40bc997825660e992b507dc82fa6732791c0190c 100644
--- a/test/language/module-code/namespace/internals/get-own-property-sym.js
+++ b/test/language/module-code/namespace/internals/get-own-property-sym.js
@@ -5,22 +5,13 @@ esid: sec-module-namespace-exotic-objects-getownproperty-p
 description: >
     Behavior of the [[GetOwnProperty]] internal method with a Symbol argument
 flags: [module]
-features: [Symbol, Symbol.iterator, Symbol.toStringTag]
+features: [Symbol, Symbol.toStringTag]
 ---*/
 
 import * as ns from './get-own-property-sym.js';
 var notFound = Symbol('test262');
 var desc;
 
-assert.sameValue(
-  Object.prototype.hasOwnProperty.call(ns, Symbol.iterator), true
-);
-desc = Object.getOwnPropertyDescriptor(ns, Symbol.iterator);
-assert.sameValue(desc.value, ns[Symbol.iterator]);
-assert.sameValue(desc.enumerable, false, 'Symbol.iterator enumerable');
-assert.sameValue(desc.writable, true, 'Symbol.iterator writable');
-assert.sameValue(desc.configurable, true, 'Symbol.iterator configurable');
-
 assert.sameValue(
   Object.prototype.hasOwnProperty.call(ns, Symbol.toStringTag), true
 );
diff --git a/test/language/module-code/namespace/internals/get-sym-found.js b/test/language/module-code/namespace/internals/get-sym-found.js
index 4fb789177d2c02caf262b4b8d2322290ecff8672..457bbe4f9b8561e37ccb40e2072c02a8133489b6 100644
--- a/test/language/module-code/namespace/internals/get-sym-found.js
+++ b/test/language/module-code/namespace/internals/get-sym-found.js
@@ -10,10 +10,9 @@ info: |
     2. If Type(P) is Symbol, then
        a. Return ? OrdinaryGet(O, P, Receiver).
 flags: [module]
-features: [Symbol.iterator, Symbol.toStringTag]
+features: [Symbol.toStringTag]
 ---*/
 
 import * as ns from './get-sym-found.js';
 
-assert.sameValue(typeof ns[Symbol.iterator], 'function');
 assert.sameValue(typeof ns[Symbol.toStringTag], 'string');
diff --git a/test/language/module-code/namespace/internals/has-property-sym-found.js b/test/language/module-code/namespace/internals/has-property-sym-found.js
index 9c5e0d29a1b52b84f25cf0f6f85d2b680f5ccc97..9f2caae8a8ab9853591e6eddd6967816d880b90a 100644
--- a/test/language/module-code/namespace/internals/has-property-sym-found.js
+++ b/test/language/module-code/namespace/internals/has-property-sym-found.js
@@ -8,12 +8,10 @@ description: >
 info: |
     1. If Type(P) is Symbol, return OrdinaryHasProperty(O, P).
 flags: [module]
-features: [Symbol.iterator, Symbol.toStringTag, Reflect]
+features: [Symbol.toStringTag, Reflect]
 ---*/
 
 import * as ns from './has-property-sym-found.js';
 
-assert(Symbol.iterator in ns, 'in: Symbol.iterator');
-assert(Reflect.has(ns, Symbol.iterator), 'Reflect.has: Symbol.iterator');
 assert(Symbol.toStringTag in ns, 'in: Symbol.toStringTag');
 assert(Reflect.has(ns, Symbol.toStringTag), 'Reflect.has: Symbol.toStringTag');
diff --git a/test/language/module-code/namespace/internals/own-property-keys-binding-types.js b/test/language/module-code/namespace/internals/own-property-keys-binding-types.js
index a283613e95ee75c499020a05b86646626a764467..3df54646b4cd789772e3f090ea62c9bc32b3bc1d 100644
--- a/test/language/module-code/namespace/internals/own-property-keys-binding-types.js
+++ b/test/language/module-code/namespace/internals/own-property-keys-binding-types.js
@@ -15,7 +15,7 @@ info: |
     the [[Exports]] list may still pass. A separate test is dedicated to sort
     order.
 flags: [module]
-features: [Reflect, Symbol.iterator, Symbol.toStringTag, let]
+features: [Reflect, Symbol.toStringTag, let]
 ---*/
 
 import * as ns from './own-property-keys-binding-types.js';
@@ -42,13 +42,9 @@ assert.sameValue(stringKeys[9], 'i_starIndirect');
 var symbolKeys = Object.getOwnPropertySymbols(ns);
 
 assert(
-  symbolKeys.length > 1,
+  symbolKeys.length > 0,
   'at least as many Symbol keys as defined by the specification'
 );
-assert(
-  symbolKeys.indexOf(Symbol.iterator) > -1,
-  'Symbol keys array includes Symbol.iterator'
-);
 assert(
   symbolKeys.indexOf(Symbol.toStringTag) > -1,
   'Symbol keys array includes Symbol.toStringTag'
@@ -70,9 +66,6 @@ assert.sameValue(allKeys[6], 'f_indirectUninit');
 assert.sameValue(allKeys[7], 'g_star');
 assert.sameValue(allKeys[8], 'h_starRenamed');
 assert.sameValue(allKeys[9], 'i_starIndirect');
-assert(
-  allKeys.indexOf(Symbol.iterator) > 9, 'keys array includes Symbol.iterator'
-);
 assert(
   allKeys.indexOf(Symbol.toStringTag) > 9,
   'keys array includes Symbol.toStringTag'
diff --git a/test/language/module-code/namespace/internals/own-property-keys-sort.js b/test/language/module-code/namespace/internals/own-property-keys-sort.js
index e40e0adfdbed2551568001e68efcdc76b19d68d3..6eea98033e0d5de89ceb7f8fee72ec60ba5e3a2c 100644
--- a/test/language/module-code/namespace/internals/own-property-keys-sort.js
+++ b/test/language/module-code/namespace/internals/own-property-keys-sort.js
@@ -10,7 +10,7 @@ info: |
     3. Append all the entries of symbolKeys to the end of exports.
     4. Return exports.
 flags: [module]
-features: [Reflect, Symbol.iterator, Symbol.toStringTag]
+features: [Reflect, Symbol.toStringTag]
 ---*/
 
 var x;
@@ -74,9 +74,6 @@ assert.sameValue(allKeys[12], 'zz', 'allKeys[12] === "zz"');
 assert.sameValue(allKeys[13], '\u03bb', 'allKeys[13] === "\u03bb"');
 assert.sameValue(allKeys[14], '\u03bc', 'allKeys[14] === "\u03bc"');
 assert.sameValue(allKeys[15], '\u03c0', 'allKeys[15] === "\u03c0"');
-assert(
-  allKeys.indexOf(Symbol.iterator) > 15, 'keys array includes Symbol.iterator'
-);
 assert(
   allKeys.indexOf(Symbol.toStringTag) > 15,
   'keys array includes Symbol.toStringTag'
diff --git a/test/language/module-code/namespace/internals/set.js b/test/language/module-code/namespace/internals/set.js
index 75613a8b19844c9724ccf5fe11deba57406b41e3..198266da1892e9e4a80cfeb4da53df5b2650d015 100644
--- a/test/language/module-code/namespace/internals/set.js
+++ b/test/language/module-code/namespace/internals/set.js
@@ -6,7 +6,7 @@ description: The [[Set]] internal method consistently returns `false`
 info: |
     1. Return false.
 flags: [module]
-features: [Reflect, Symbol.iterator, Symbol.toStringTag]
+features: [Reflect, Symbol, Symbol.toStringTag]
 ---*/
 
 import * as ns from './define-own-property.js';
@@ -41,13 +41,6 @@ assert.throws(TypeError, function() {
   ns.default = null;
 }, 'AssignmentExpression: default');
 
-assert.sameValue(
-  Reflect.set(ns, Symbol.iterator), false, 'Reflect.set: Symbol.iterator'
-);
-assert.throws(TypeError, function() {
-  ns[Symbol.iterator] = null;
-}, 'AssignmentExpression: Symbol.iterator');
-
 assert.sameValue(
   Reflect.set(ns, Symbol.toStringTag),
   false,