diff --git a/core/modules/block/tests/Drupal/block/Tests/BlockConfigEntityUnitTest.php b/core/modules/block/tests/Drupal/block/Tests/BlockConfigEntityUnitTest.php
index 34d8373..98d8d6d 100644
--- a/core/modules/block/tests/Drupal/block/Tests/BlockConfigEntityUnitTest.php
+++ b/core/modules/block/tests/Drupal/block/Tests/BlockConfigEntityUnitTest.php
@@ -8,7 +8,7 @@
 namespace Drupal\block\Tests;
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
-use Drupal\Tests\Core\Plugin\TestConfigurablePlugin;
+use Drupal\Tests\Core\Plugin\Fixtures\TestConfigurablePlugin;
 use Drupal\Tests\UnitTestCase;
 
 /**
diff --git a/core/modules/simpletest/simpletest.module b/core/modules/simpletest/simpletest.module
index cf28391..4a3f227 100644
--- a/core/modules/simpletest/simpletest.module
+++ b/core/modules/simpletest/simpletest.module
@@ -228,21 +228,30 @@ function simpletest_phpunit_configuration_filepath() {
 function simpletest_phpunit_run_command(array $unescaped_test_classnames, $phpunit_file) {
   $phpunit_bin = simpletest_phpunit_command();
 
-  // Double escape namespaces so they'll work in a regexp.
-  $escaped_test_classnames = array_map(function($class) {
-    return addslashes($class);
-  }, $unescaped_test_classnames);
-
-  $filter_string = implode("|", $escaped_test_classnames);
-
   $command = array(
     $phpunit_bin,
-    '--filter',
-    escapeshellarg($filter_string),
     '--log-junit',
     escapeshellarg($phpunit_file),
   );
 
+  // Optimized for running a single test.
+  if (count($unescaped_test_classnames) == 1) {
+    $class = new \ReflectionClass($unescaped_test_classnames[0]);
+    $command[] = escapeshellarg($class->getFileName());
+  }
+  else {
+    // Double escape namespaces so they'll work in a regexp.
+    $escaped_test_classnames = array_map(function($class) {
+      return addslashes($class);
+    }, $unescaped_test_classnames);
+
+    $filter_string = implode("|", $escaped_test_classnames);
+    $command = array_merge($command, array(
+      '--filter',
+      escapeshellarg($filter_string),
+    ));
+  }
+
   // Need to change directories before running the command so that we can use
   // relative paths in the configuration file's exclusions.
   $old_cwd = getcwd();
diff --git a/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php b/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
index 6c8f62d..11fbb37 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/ConfigurablePluginBagTest.php
@@ -7,8 +7,7 @@
 
 namespace Drupal\Tests\Core\Plugin;
 
-use Drupal\Component\Plugin\ConfigurablePluginInterface;
-use Drupal\Component\Plugin\PluginBase;
+use Drupal\Tests\Core\Plugin\Fixtures\TestConfigurablePlugin;
 
 /**
  * Tests the default plugin bag with configurable plugins.
@@ -72,28 +71,3 @@ public function testConfigurableSetConfiguration() {
   }
 
 }
-
-class TestConfigurablePlugin extends PluginBase implements ConfigurablePluginInterface {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getConfiguration() {
-    return $this->configuration;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function setConfiguration(array $configuration) {
-    $this->configuration = $configuration;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function defaultConfiguration() {
-    return array();
-  }
-
-}
diff --git a/core/tests/Drupal/Tests/Core/Plugin/Fixtures/TestConfigurablePlugin.php b/core/tests/Drupal/Tests/Core/Plugin/Fixtures/TestConfigurablePlugin.php
new file mode 100644
index 0000000..c12ce74
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/Plugin/Fixtures/TestConfigurablePlugin.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\Core\Plugin\Fixtures\TestConfigurablePlugin.
+ */
+
+namespace Drupal\Tests\Core\Plugin\Fixtures;
+
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
+use Drupal\Component\Plugin\PluginBase;
+
+class TestConfigurablePlugin extends PluginBase implements ConfigurablePluginInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfiguration() {
+    return $this->configuration;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function setConfiguration(array $configuration) {
+    $this->configuration = $configuration;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function defaultConfiguration() {
+    return array();
+  }
+
+}
