diff --git a/test/built-ins/Array/prototype/concat/S15.4.4.4_A4.1.js b/test/built-ins/Array/prototype/concat/S15.4.4.4_A4.1.js
index d318ec6c5756ce369fcef378ad70f2904bc51118..a0ab2f07d7264a7d2e9a2147cf21872e5b239c26 100644
--- a/test/built-ins/Array/prototype/concat/S15.4.4.4_A4.1.js
+++ b/test/built-ins/Array/prototype/concat/S15.4.4.4_A4.1.js
@@ -21,5 +21,5 @@ for (var p in Array.prototype.concat){
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.concat) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.concat) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/join/S15.4.4.5_A6.1.js b/test/built-ins/Array/prototype/join/S15.4.4.5_A6.1.js
index c573db571e8eb3083268b8c5cc19b3964a1259a3..0980d2090f37e6dcaf8fb858d0edb7e175d444b5 100644
--- a/test/built-ins/Array/prototype/join/S15.4.4.5_A6.1.js
+++ b/test/built-ins/Array/prototype/join/S15.4.4.5_A6.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.join.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.join){
+for (var p in Array.prototype.join){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.join) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.join) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/pop/S15.4.4.6_A5.1.js b/test/built-ins/Array/prototype/pop/S15.4.4.6_A5.1.js
index 4fe253907c7a38bafb9c362e9b22986b4e526bca..9460c82c0a50b51586d230b1b1540d9d66daf3ff 100644
--- a/test/built-ins/Array/prototype/pop/S15.4.4.6_A5.1.js
+++ b/test/built-ins/Array/prototype/pop/S15.4.4.6_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.pop.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.pop){
+for (var p in Array.prototype.pop){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.pop) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.pop) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/push/S15.4.4.7_A6.1.js b/test/built-ins/Array/prototype/push/S15.4.4.7_A6.1.js
index d85a1c787adddc382724b9ba2b1407f6ec194af2..90a12e90e103071dcee649044fe2c43f7690c627 100644
--- a/test/built-ins/Array/prototype/push/S15.4.4.7_A6.1.js
+++ b/test/built-ins/Array/prototype/push/S15.4.4.7_A6.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.push.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.push){
+for (var p in Array.prototype.push){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.push) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.push) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/reverse/S15.4.4.8_A5.1.js b/test/built-ins/Array/prototype/reverse/S15.4.4.8_A5.1.js
index e4dc84f32bfbd324b59477907ead6d3c445aad47..267ddba834963292c7d3c3b1501a54b5c591d781 100644
--- a/test/built-ins/Array/prototype/reverse/S15.4.4.8_A5.1.js
+++ b/test/built-ins/Array/prototype/reverse/S15.4.4.8_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.reverse.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (p in Array.reverse){
+for (p in Array.prototype.reverse){
   if (p === "length") {
     var result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.reverse) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.reverse) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/shift/S15.4.4.9_A5.1.js b/test/built-ins/Array/prototype/shift/S15.4.4.9_A5.1.js
index 3a6b4e08bb83deb3f25319b1e92029a651c50a61..38652362ab54765002ad9c6451808bbe63420ef7 100644
--- a/test/built-ins/Array/prototype/shift/S15.4.4.9_A5.1.js
+++ b/test/built-ins/Array/prototype/shift/S15.4.4.9_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.shift.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.shift){
+for (var p in Array.prototype.shift){
   if (p === "length") {
     result = false;
 }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.shift) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.shift) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/slice/S15.4.4.10_A5.1.js b/test/built-ins/Array/prototype/slice/S15.4.4.10_A5.1.js
index 9d58a386df7449f181a7d7fb7f38fa313a890f7e..a9679ef2bf39f53eeed24169ed48a307fbd80c45 100644
--- a/test/built-ins/Array/prototype/slice/S15.4.4.10_A5.1.js
+++ b/test/built-ins/Array/prototype/slice/S15.4.4.10_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.slice.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.slice){
+for (var p in Array.prototype.slice){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.slice) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.slice) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/sort/S15.4.4.11_A7.1.js b/test/built-ins/Array/prototype/sort/S15.4.4.11_A7.1.js
index 9351108970885be0222d082a86b24581dfce7409..eff900aedfdb7b1c7188ae34cee03d273fcab89a 100644
--- a/test/built-ins/Array/prototype/sort/S15.4.4.11_A7.1.js
+++ b/test/built-ins/Array/prototype/sort/S15.4.4.11_A7.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.sort.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.sort){
+for (var p in Array.prototype.sort){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.sort) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.sort) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/splice/S15.4.4.12_A5.1.js b/test/built-ins/Array/prototype/splice/S15.4.4.12_A5.1.js
index 21bb149a169175ce23e5688ab0c7bea8d4c21b00..5a1b9297cc94b6a715ff26d3a2dc6c417c9b9fe4 100644
--- a/test/built-ins/Array/prototype/splice/S15.4.4.12_A5.1.js
+++ b/test/built-ins/Array/prototype/splice/S15.4.4.12_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.splice.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.splice){
+for (var p in Array.prototype.splice){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.splice) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.splice) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.1.js b/test/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.1.js
index eb2b1da1834cd92f93602c068fba3a81e77e7011..7683cce5f9a4241cb12a4a817c6d3b794f4fe9ed 100644
--- a/test/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.1.js
+++ b/test/built-ins/Array/prototype/toLocaleString/S15.4.4.3_A4.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.toLocaleString.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.toLocaleString){
+for (var p in Array.prototype.toLocaleString){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.toLocaleString) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.toLocaleString) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/toString/S15.4.4.2_A4.1.js b/test/built-ins/Array/prototype/toString/S15.4.4.2_A4.1.js
index bbc5c139f0f787ce8d771118e42f081e7ed35148..401ce22396ef274dbc91af6e41441679c2a60863 100644
--- a/test/built-ins/Array/prototype/toString/S15.4.4.2_A4.1.js
+++ b/test/built-ins/Array/prototype/toString/S15.4.4.2_A4.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.toString.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.toString){
+for (var p in Array.prototype.toString){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.toString) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.toString) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Array/prototype/unshift/S15.4.4.13_A5.1.js b/test/built-ins/Array/prototype/unshift/S15.4.4.13_A5.1.js
index fdb530687f9b28bb591a888161f8c86d1dfb750a..c29476b80060fcc8521e53592f1c5f7fb53cf926 100644
--- a/test/built-ins/Array/prototype/unshift/S15.4.4.13_A5.1.js
+++ b/test/built-ins/Array/prototype/unshift/S15.4.4.13_A5.1.js
@@ -14,12 +14,12 @@ if (Array.prototype.unshift.propertyIsEnumerable('length') !== false) {
 
 //CHECK#2
 var result = true;
-for (var p in Array.unshift){
+for (var p in Array.prototype.unshift){
   if (p === "length") {
     result = false;
   }  
 }
 
 if (result !== true) {
-  $ERROR('#2: result = true; for (p in Array.unshift) { if (p === "length") result = false; }  result === true;');
+  $ERROR('#2: result = true; for (p in Array.prototype.unshift) { if (p === "length") result = false; }  result === true;');
 }
diff --git a/test/built-ins/Set/set-iterator-close-after-add-failure.js b/test/built-ins/Set/set-iterator-close-after-add-failure.js
index fba50f324a3eddcc4c35e4a84418756c38ba4485..260327e08b385aa65c2f8cf04dd0109b5a916142 100644
--- a/test/built-ins/Set/set-iterator-close-after-add-failure.js
+++ b/test/built-ins/Set/set-iterator-close-after-add-failure.js
@@ -33,7 +33,9 @@ iterable[Symbol.iterator] = function() {
 };
 Set.prototype.add = function() { throw new Error(); }
 
-new Set(iterable);
+assert.throws(Error, function() {
+  new Set(iterable);
+});
 
 assert.sameValue(
   count, 1, "The iterator is closed when `Set.prototype.add` throws an error."
diff --git a/test/built-ins/global/S10.2.3_A2.2_T1.js b/test/built-ins/global/S10.2.3_A2.2_T1.js
index 8851a43a32f0da547a3c8ed53a79808a31ce51f8..7de8a86ae74840df791ba3f32a979f8e52da2c9f 100644
--- a/test/built-ins/global/S10.2.3_A2.2_T1.js
+++ b/test/built-ins/global/S10.2.3_A2.2_T1.js
@@ -5,6 +5,7 @@
 info: Global object properties have attributes { DontEnum }
 es5id: 10.2.3_A2.2_T1
 description: Function execution context - Value Properties
+flags: [noStrict]
 ---*/
 
 function test() {
diff --git a/test/built-ins/global/S10.2.3_A2.2_T2.js b/test/built-ins/global/S10.2.3_A2.2_T2.js
index 86e1fe9d22b5d87baac2aaeee15a80e5d2e5658d..ee07c73597304d85455aef8014e3b0eb04472c95 100644
--- a/test/built-ins/global/S10.2.3_A2.2_T2.js
+++ b/test/built-ins/global/S10.2.3_A2.2_T2.js
@@ -5,6 +5,7 @@
 info: Global object properties have attributes { DontEnum }
 es5id: 10.2.3_A2.2_T2
 description: Function execution context - Function Properties
+flags: [noStrict]
 ---*/
 
 function test() {
diff --git a/test/built-ins/global/S10.2.3_A2.2_T3.js b/test/built-ins/global/S10.2.3_A2.2_T3.js
index 5e1934e64c2e52f2c5c7200ca44afa87d715a200..ec0482d2ac5dcad59bf69ec775cffb83e06cc784 100644
--- a/test/built-ins/global/S10.2.3_A2.2_T3.js
+++ b/test/built-ins/global/S10.2.3_A2.2_T3.js
@@ -5,6 +5,7 @@
 info: Global object properties have attributes { DontEnum }
 es5id: 10.2.3_A2.2_T3
 description: Function execution context - Constructor Properties
+flags: [noStrict]
 ---*/
 
 function test() {
diff --git a/test/built-ins/global/S10.2.3_A2.2_T4.js b/test/built-ins/global/S10.2.3_A2.2_T4.js
index b166a659eec4799d8e65c92bdcd6141e1e74e56c..4a3c5517f603c85228630ceae732ef271581f8c9 100644
--- a/test/built-ins/global/S10.2.3_A2.2_T4.js
+++ b/test/built-ins/global/S10.2.3_A2.2_T4.js
@@ -5,6 +5,7 @@
 info: Global object properties have attributes { DontEnum }
 es5id: 10.2.3_A2.2_T4
 description: Function execution context - Other Properties
+flags: [noStrict]
 ---*/
 
 function test() {
diff --git a/test/language/statements/function/13.2-12-s.js b/test/language/statements/function/13.2-12-s.js
index 7ae1f86988ad60c15356df7c8c205b8b4ba4f9c3..81cfbeff569e638b9a540cbf52cc5c67ed31f5b7 100644
--- a/test/language/statements/function/13.2-12-s.js
+++ b/test/language/statements/function/13.2-12-s.js
@@ -15,6 +15,6 @@ includes: [runTestCase.js]
 
 function testcase() {
             var foo = Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"caller\") {return false;}}; return true;");
-            return foo();
+            return foo.call(foo);
 }
 runTestCase(testcase);
diff --git a/test/language/statements/function/13.2-16-s.js b/test/language/statements/function/13.2-16-s.js
index 1dc12d61028c74f5e66dbfed8605889aca75533e..c5d38c247fc3d9ea623bde7604d2f7f8ee97cd19 100644
--- a/test/language/statements/function/13.2-16-s.js
+++ b/test/language/statements/function/13.2-16-s.js
@@ -15,6 +15,6 @@ includes: [runTestCase.js]
 
 function testcase() {
             var foo = new Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"arguments\") {return false;}}; return true;");
-            return foo();
+            return foo.call(foo);
 }
 runTestCase(testcase);
diff --git a/test/language/statements/function/13.2-20-s.js b/test/language/statements/function/13.2-20-s.js
index 10c457200e16faadeb109cc770d74f13be266ce0..ce3f3e07d5443622135862d696ac38bf4e5c922c 100644
--- a/test/language/statements/function/13.2-20-s.js
+++ b/test/language/statements/function/13.2-20-s.js
@@ -15,6 +15,6 @@ includes: [runTestCase.js]
 
 function testcase() {
             var foo = Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"arguments\") {return false;}}; return true;");
-            return foo();
+            return foo.call(foo);
 }
 runTestCase(testcase);
diff --git a/test/language/statements/function/13.2-24-s.js b/test/language/statements/function/13.2-24-s.js
index 741a64cfe62ccab298952721a897efbeccf1d439..d11f2992460ed318ab058988bcfd9bc8abeaf2be 100644
--- a/test/language/statements/function/13.2-24-s.js
+++ b/test/language/statements/function/13.2-24-s.js
@@ -23,6 +23,6 @@ function testcase() {
                 } 
                 return true;
             }
-            return foo();
+            return foo.call(foo);
 }
 runTestCase(testcase);
diff --git a/test/language/statements/function/13.2-28-s.js b/test/language/statements/function/13.2-28-s.js
index 74293082c7e8a61d2f75f90f583f446846d49cb6..ac4f95061bc58a1eb448d7a1ac573a8393ddce58 100644
--- a/test/language/statements/function/13.2-28-s.js
+++ b/test/language/statements/function/13.2-28-s.js
@@ -23,6 +23,6 @@ function testcase() {
                 } 
                 return true;
             }
-            return foo();
+            return foo.call(foo);
 }
 runTestCase(testcase);
diff --git a/test/language/statements/function/13.2-8-s.js b/test/language/statements/function/13.2-8-s.js
index 4cf836aa5225b8659dc4e0ed888f338db3fea719..3c90e499d3bd66ef7e1cd78f45d759bd7bce7e7a 100644
--- a/test/language/statements/function/13.2-8-s.js
+++ b/test/language/statements/function/13.2-8-s.js
@@ -15,6 +15,6 @@ includes: [runTestCase.js]
 
 function testcase() {
             var foo = new Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"caller\") {return false;}}; return true;");
-            return foo();
+            return foo.call(foo);
     }
 runTestCase(testcase);