diff --git a/tests/html/html.status b/tests/html/html.status
index 742f19d..6862539 100644
--- a/tests/html/html.status
+++ b/tests/html/html.status
@@ -39,6 +39,7 @@
 [ $compiler == dart2js && $browser ]
 custom/created_callback_test: Fail # Support for created constructor. Issue 14835
 fontface_loaded_test: Fail # Support for promises.
+js_test/JsArray: RuntimeError # Issue 26197
 
 [ $compiler == dart2js && ($runtime == safari || $runtime == safarimobilesim || $runtime == ff  || $ie) ]
 custom/entered_left_view_test/viewless_document: Fail # Polyfill does not handle this
diff --git a/tools/testing/dart/compiler_configuration.dart b/tools/testing/dart/compiler_configuration.dart
index 147cd99..7b1e5f6 100644
--- a/tools/testing/dart/compiler_configuration.dart
+++ b/tools/testing/dart/compiler_configuration.dart
@@ -52,6 +52,8 @@
     bool useSdk = configuration['use_sdk'];
     bool isCsp = configuration['csp'];
     bool useCps = configuration['cps_ir'];
+    // TODO(26060): Remove the browser multiplier when issue resolved.
+    bool isBrowser = configuration['browser'];
 
     switch (compiler) {
       case 'dart2analyzer':
@@ -68,6 +70,7 @@
             useCps: useCps,
             useSdk: useSdk,
             isCsp: isCsp,
+            isBrowser: isBrowser,
             extraDart2jsOptions:
                 TestUtils.getExtraOptions(configuration, 'dart2js_options'));
       case 'dart2app':
@@ -238,6 +241,7 @@
 class Dart2jsCompilerConfiguration extends Dart2xCompilerConfiguration {
   final bool isCsp;
   final bool useCps;
+  final bool isBrowser;
   final List<String> extraDart2jsOptions;
   // We cache the extended environment to save memory.
   static Map<String, String> cpsFlagCache;
@@ -250,6 +254,7 @@
       bool useSdk,
       bool this.useCps,
       bool this.isCsp,
+      bool this.isBrowser,
       this.extraDart2jsOptions})
       : super('dart2js',
             isDebug: isDebug,
@@ -262,6 +267,7 @@
     if (isDebug) multiplier *= 4;
     if (isChecked) multiplier *= 2;
     if (isHostChecked) multiplier *= 16;
+    if (isBrowser) multiplier *= 2;  // TODO(26060): Remove when issue fixed.
     return multiplier;
   }
 
