diff --git a/core/lib/Drupal/Core/DependencyInjection/ServiceProviderBase.php b/core/lib/Drupal/Core/DependencyInjection/ServiceProviderBase.php
new file mode 100644
index 0000000000000000000000000000000000000000..c633395f6cef364a6b149811b229136f829566a3
--- /dev/null
+++ b/core/lib/Drupal/Core/DependencyInjection/ServiceProviderBase.php
@@ -0,0 +1,27 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\DependencyInjection\ServiceProviderBase.
+ */
+
+namespace Drupal\Core\DependencyInjection;
+
+/**
+ * Base service provider implementation.
+ */
+abstract class ServiceProviderBase implements ServiceProviderInterface, ServiceModifierInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function register(ContainerBuilder $container) {
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function alter(ContainerBuilder $container) {
+  }
+
+}
diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php
index 884b27170fd948c676adba5c501d59ee030a2884..3e97607034065653937eb68a11b97154eb0358e1 100644
--- a/core/lib/Drupal/Core/DrupalKernel.php
+++ b/core/lib/Drupal/Core/DrupalKernel.php
@@ -11,6 +11,7 @@
 use Drupal\Core\Config\BootstrapConfigStorageFactory;
 use Drupal\Core\CoreServiceProvider;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\Core\DependencyInjection\ServiceProviderInterface;
 use Drupal\Core\DependencyInjection\YamlFileLoader;
 use Symfony\Component\Config\Loader\LoaderInterface;
 use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
@@ -515,7 +516,9 @@ protected function buildContainer() {
       $yaml_loader->load($filename);
     }
     foreach ($this->serviceProviders as $provider) {
-      $provider->register($container);
+      if ($provider instanceof ServiceProviderInterface) {
+        $provider->register($container);
+      }
     }
 
     // Identify all services whose instances should be persisted when rebuilding
diff --git a/core/modules/language/tests/language_test/lib/Drupal/language_test/LanguageTestServiceProvider.php b/core/modules/language/tests/language_test/lib/Drupal/language_test/LanguageTestServiceProvider.php
index c8b16330327e4c1c37da695e8eb55d6e409dec65..39aef04470d5b036097d3c538fa6da6cdf250a34 100644
--- a/core/modules/language/tests/language_test/lib/Drupal/language_test/LanguageTestServiceProvider.php
+++ b/core/modules/language/tests/language_test/lib/Drupal/language_test/LanguageTestServiceProvider.php
@@ -9,19 +9,11 @@
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\DependencyInjection\ServiceModifierInterface;
-use Drupal\Core\DependencyInjection\ServiceProviderInterface;
 
 /**
  * Defines the LanguageTest service provider.
  */
-class LanguageTestServiceProvider implements ServiceProviderInterface, ServiceModifierInterface {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function register(ContainerBuilder $container) {
-
-  }
+class LanguageTestServiceProvider implements ServiceModifierInterface {
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/system/tests/modules/service_provider_test/lib/Drupal/service_provider_test/ServiceProviderTestServiceProvider.php b/core/modules/system/tests/modules/service_provider_test/lib/Drupal/service_provider_test/ServiceProviderTestServiceProvider.php
index b2b85cbd75bced60ab3a821ccee05a014ba8c616..c3b14b34b9e2e2fc1426cc8fc2dada42232f2326 100644
--- a/core/modules/system/tests/modules/service_provider_test/lib/Drupal/service_provider_test/ServiceProviderTestServiceProvider.php
+++ b/core/modules/system/tests/modules/service_provider_test/lib/Drupal/service_provider_test/ServiceProviderTestServiceProvider.php
@@ -8,17 +8,9 @@
 namespace Drupal\service_provider_test;
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
-use Drupal\Core\DependencyInjection\ServiceProviderInterface;
 use Drupal\Core\DependencyInjection\ServiceModifierInterface;
 
-class ServiceProviderTestServiceProvider implements ServiceProviderInterface, ServiceModifierInterface {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function register(ContainerBuilder $container) {
-
-  }
+class ServiceProviderTestServiceProvider implements ServiceModifierInterface {
 
   /**
    * {@inheritdoc}