diff --git a/src/Illuminate/Foundation/Http/Kernel.php b/src/Illuminate/Foundation/Http/Kernel.php
index <HASH>..<HASH> 100644
--- a/src/Illuminate/Foundation/Http/Kernel.php
+++ b/src/Illuminate/Foundation/Http/Kernel.php
@@ -135,9 +135,15 @@ class Kernel implements KernelContract
      */
     public function terminate($request, $response)
     {
-        $routeMiddlewares = $this->gatherRouteMiddlewares($request);
+        $shouldSkipMiddleware = $this->app->bound('middleware.disable') &&
+                                $this->app->make('middleware.disable') === true;
+
+        $middlewares = $shouldSkipMiddleware ? [] : array_merge(
+            $this->gatherRouteMiddlewares($request),
+            $this->middleware
+        );
 
-        foreach (array_merge($routeMiddlewares, $this->middleware) as $middleware) {
+        foreach ($middlewares as $middleware) {
             list($name, $parameters) = $this->parseMiddleware($middleware);
 
             $instance = $this->app->make($name);
Fix execution of terminable middleware in combination with WithoutMiddleware

If a test uses the WithoutMiddleware trait, all middleware (including terminable
middleware) should be skipped over.