diff --git a/test/language/statements/for-of/iterator-next-error.js b/test/language/statements/for-of/iterator-next-error.js
index bcecc0bb4c583c93f7d0d20927f3456b06961391..ef4f5da9831930be61db8585841629d2684caedc 100644
--- a/test/language/statements/for-of/iterator-next-error.js
+++ b/test/language/statements/for-of/iterator-next-error.js
@@ -5,16 +5,25 @@ es6id: 13.6.4.13 S5.d
 description: >
     If `nextResult` is an abrupt completion as per IteratorStep (ES6 7.4.5),
     return the completion.
+info: |
+  [...]
+  5. Repeat
+     a. Let nextResult be ? IteratorStep(iterator).
 features: [Symbol.iterator]
 ---*/
 
 var iterable = {};
 var iterationCount = 0;
+var returnCount = 0;
 
 iterable[Symbol.iterator] = function() {
   return {
     next: function() {
       throw new Test262Error();
+    },
+    return: function() {
+      returnCount += 1;
+      return {};
     }
   };
 };
@@ -26,3 +35,4 @@ assert.throws(Test262Error, function() {
 });
 
 assert.sameValue(iterationCount, 0, 'The loop body is not evaluated');
+assert.sameValue(returnCount, 0, 'Iterator is not closed.');
diff --git a/test/language/statements/for-of/iterator-next-result-value-attr-error.js b/test/language/statements/for-of/iterator-next-result-value-attr-error.js
index 9344c5ec328e98d2ea6c103fb6770ad87e7d02c7..9832a497cc7d5e757cecb48643ae4955b0170930 100644
--- a/test/language/statements/for-of/iterator-next-result-value-attr-error.js
+++ b/test/language/statements/for-of/iterator-next-result-value-attr-error.js
@@ -5,11 +5,18 @@ es6id: 13.6.4.13 S5.g
 description: >
     If `nextValue` is an abrupt completion as per IteratorValue (ES6 7.4.4),
     return the completion.
+info: |
+  [...]
+  5. Repeat
+     a. Let nextResult be ? IteratorStep(iterator).
+     b. If nextResult is false, return NormalCompletion(V).
+     c. Let nextValue be ? IteratorValue(nextResult).
 features: [Symbol.iterator]
 ---*/
 
 var iterable = {};
 var iterationCount = 0;
+var returnCount = 0;
 
 iterable[Symbol.iterator] = function() {
   return {
@@ -20,6 +27,10 @@ iterable[Symbol.iterator] = function() {
           throw new Test262Error();
         }
       };
+    },
+    return: function() {
+      returnCount += 1;
+      return {};
     }
   };
 };
@@ -31,3 +42,4 @@ assert.throws(Test262Error, function() {
 });
 
 assert.sameValue(iterationCount, 0, 'The loop body is not evaluated');
+assert.sameValue(returnCount, 0, 'Iterator is not closed.');