diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index a6db839..1038745 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -309,7 +309,6 @@
       "options": {
         "minified": true,
         "csp": true,
-        "preview-dart-2": false,
         "use-sdk": true
       }},
     "dart2js-minified-faststartup-csp-linux-chrome": {
@@ -317,7 +316,6 @@
         "minified": true,
         "csp": true,
         "fast-startup": true,
-        "preview-dart-2": false,
         "use-sdk": true
       }},
     "dart2js-minified-linux-d8": {
diff --git a/tools/testing/dart/configuration.dart b/tools/testing/dart/configuration.dart
index e532f7d..9d5149e 100644
--- a/tools/testing/dart/configuration.dart
+++ b/tools/testing/dart/configuration.dart
@@ -383,33 +383,6 @@
       print("-rflutter is applicable only for --arch=x64");
     }
 
-    if (namedConfiguration != null) {
-      if ( // namedConfiguration.builderTag != builderTag ||  # Null versus empty string
-          //   namedConfiguration.architecture != architecture ||  # smith.Architecture vs Architecture
-          //   namedConfiguration.compiler != compiler ||
-          namedConfiguration.isChecked != isChecked ||
-              namedConfiguration.isCsp != isCsp ||
-              namedConfiguration.isHostChecked != isHostChecked ||
-              namedConfiguration.isMinified != isMinified ||
-              //  namedConfiguration.mode != mode ||
-              namedConfiguration.previewDart2 == noPreviewDart2 ||
-              //   namedConfiguration.runtime != runtime ||
-              //   namedConfiguration.system != system ||
-              // namedConfiguration.timeout != _timeout || #? Null?
-              namedConfiguration.useBlobs != useBlobs ||
-              namedConfiguration.useFastStartup != useFastStartup ||
-              namedConfiguration.useHotReload != hotReload ||
-              namedConfiguration.useHotReloadRollback != hotReloadRollback ||
-              namedConfiguration.useSdk != useSdk
-          // namedConfiguration.vmOptions != vmOptions # String vs List<String>
-          ) {
-        print(
-            "Configuration and namedConfiguration differ: ${toSummaryMap()} $namedConfiguration"
-            "$builderTag ${namedConfiguration.builderTag}");
-        isValid = false;
-      }
-    }
-
     return isValid;
   }
 
diff --git a/tools/testing/dart/options.dart b/tools/testing/dart/options.dart
index dd6d7bc..caa1115 100644
--- a/tools/testing/dart/options.dart
+++ b/tools/testing/dart/options.dart
@@ -638,7 +638,6 @@
                 mode,
                 architecture,
                 system);
-            print(namedConfiguration); // TODO(whesse): remove
             var innerConfiguration = new Configuration(
                 namedConfiguration?.name ?? "custom configuration",
                 architecture,
@@ -864,7 +863,6 @@
 
 Configuration getNamedConfiguration(String template, Runtime runtime,
     Compiler compiler, Mode mode, Architecture architecture, System system) {
-  print(template);
   if (template == null) return null;
   if (template.contains(r"${runtime}")) {
     template = template.replaceFirst(r"${runtime}", runtime.name);
@@ -884,7 +882,6 @@
   }
 
   TestMatrix testMatrix = TestMatrix.fromPath("tools/bots/test_matrix.json");
-  print("Expanded namedConfiguration name:$template");
   return testMatrix.configurations
       .singleWhere((c) => c.name == template, orElse: () => null);
 }
