diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php
index 6971718..6de0976 100644
--- a/core/lib/Drupal/Core/DrupalKernel.php
+++ b/core/lib/Drupal/Core/DrupalKernel.php
@@ -548,10 +548,6 @@ public function discoverServiceProviders() {
     if ($container_yamls = Settings::get('container_yamls')) {
       $this->serviceYamls['site'] = $container_yamls;
     }
-    $site_services_yml = $this->getSitePath() . '/services.yml';
-    if (file_exists($site_services_yml) && is_readable($site_services_yml)) {
-      $this->serviceYamls['site'][] = $site_services_yml;
-    }
   }
 
   /**
diff --git a/core/tests/Drupal/Tests/Core/DrupalKernel/DiscoverServiceProvidersTest.php b/core/tests/Drupal/Tests/Core/DrupalKernel/DiscoverServiceProvidersTest.php
new file mode 100644
index 0000000..89582eb
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/DrupalKernel/DiscoverServiceProvidersTest.php
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\Core\DrupalKernel\DiscoverServiceProvidersTest.
+ */
+
+namespace Drupal\Tests\Core\DrupalKernel;
+
+use Drupal\Core\DrupalKernel;
+use Drupal\Core\Site\Settings;
+use Drupal\Tests\UnitTestCase;
+use Symfony\Component\Debug\Tests\ClassLoader;
+use Symfony\Component\HttpFoundation\Request;
+
+/**
+ * @coversDefaultClass \Drupal\Core\DrupalKernel
+ * @group DrupalKernel
+ */
+class DiscoverServiceProvidersTest extends UnitTestCase {
+
+  /**
+   * Tests discovery default services yaml.
+   *
+   * @covers ::discoverServiceProviders()
+   */
+  public function testDiscoverService() {
+    $kernel = new DrupalKernel('prod', new \Composer\Autoload\ClassLoader());
+    $kernel->setSitePath(__DIR__ . '/fixtures');
+    $kernel->discoverServiceProviders();
+
+    $expect = array(
+      'app' => array(
+        'core' => 'core/core.services.yml',
+      ),
+      'site' => array(
+        $kernel->getSitePath() . '/services.yml',
+      ),
+    );
+
+    $this->assertAttributeSame($expect, 'serviceYamls', $kernel);
+  }
+
+  /**
+   * Tests discovery with user defined container yaml.
+   *
+   * @covers ::discoverServiceProviders()
+   */
+  public function testDiscoverServiceCustom() {
+    new Settings(array(
+      'container_yamls' => array(
+        'custom.yml'
+      ),
+    ));
+
+    $kernel = new DrupalKernel('prod', new \Composer\Autoload\ClassLoader());
+    $kernel->discoverServiceProviders();
+
+    $expect = array(
+      'app' => array(
+        'core' => 'core/core.services.yml',
+      ),
+      'site' => array(
+        'custom.yml',
+      ),
+    );
+
+    $this->assertAttributeSame($expect, 'serviceYamls', $kernel);
+  }
+
+  /**
+   * Tests discovery with default site and user defined container yaml.
+   *
+   * @covers ::discoverServiceProviders()
+   */
+  public function testDiscoverServiceWithSiteDefaultAndCustom() {
+    new Settings(array(
+      'container_yamls' => array(
+        'custom.yml'
+      ),
+    ));
+
+    $kernel = new DrupalKernel('prod', new \Composer\Autoload\ClassLoader());
+    $kernel->setSitePath(__DIR__ . '/fixtures');
+    $kernel->discoverServiceProviders();
+
+    $expect = array(
+      'app' => array(
+        'core' => 'core/core.services.yml',
+      ),
+      'site' => array(
+        $kernel->getSitePath() . '/services.yml',
+        'custom.yml',
+      ),
+    );
+
+    $this->assertAttributeSame($expect, 'serviceYamls', $kernel);
+  }
+
+}
diff --git a/core/tests/Drupal/Tests/Core/DrupalKernel/fixtures/services.yml b/core/tests/Drupal/Tests/Core/DrupalKernel/fixtures/services.yml
new file mode 100644
index 0000000..3950896
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/DrupalKernel/fixtures/services.yml
@@ -0,0 +1,3 @@
+parameters:
+  test.config:
+    test: true
diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php
index a435754..b0375b4 100644
--- a/sites/default/default.settings.php
+++ b/sites/default/default.settings.php
@@ -584,6 +584,11 @@
 # $config['system.performance']['fast_404']['html'] = '<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';
 
 /**
+ * Load services definition file.
+ */
+$settings['container_yamls'][] = __DIR__ . '/services.yml';
+
+/**
  * Load local development override configuration, if available.
  *
  * Use settings.local.php to override variables on secondary (staging,
@@ -596,3 +601,4 @@
 # if (file_exists(__DIR__ . '/settings.local.php')) {
 #   include __DIR__ . '/settings.local.php';
 # }
+
