diff --git a/core/modules/system/lib/Drupal/system/Tests/System/ExceptionControllerTest.php b/core/modules/system/lib/Drupal/system/Tests/System/ExceptionControllerTest.php
new file mode 100644
index 0000000..f08f0e0
--- /dev/null
+++ b/core/modules/system/lib/Drupal/system/Tests/System/ExceptionControllerTest.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * Definition of Drupal\system\Tests\System\ExceptionControllerTest.
+ */
+
+namespace Drupal\system\Tests\System;
+
+use \Drupal\Core\ContentNegotiation;
+use \Drupal\Core\ExceptionController;
+use \Drupal\simpletest\UnitTestBase;
+use \Symfony\Component\HttpFoundation\Request;
+use \Symfony\Component\HttpKernel\Exception\FlattenException;
+
+/**
+ * Tests exception controller.
+ */
+class ExceptionControllerTest extends UnitTestBase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Exception controller',
+      'description' => 'Performs tests on the exception handler controller class.',
+      'group' => 'System',
+    );
+  }
+
+  /**
+   * Checks that the on405Html() method returns a valid response.
+   */
+  public function test405HTML() {
+    $exception_controller = new ExceptionController(new ContentNegotiation());
+    $response = $exception_controller->on405Html(new FlattenException(), new Request());
+    $this->assertEqual($response->getStatusCode(), 405, 'HTTP status of response is correct.');
+    $this->assertEqual($response->getContent(), 'Method Not Allowed', 'HTTP response body is correct.');
+  }
+}
