diff --git a/core/core.services.yml b/core/core.services.yml
index 5e09001..a4fcc53 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -886,7 +886,6 @@ services:
     parent: default_plugin_manager
   stream_wrapper_manager:
     class: Drupal\Core\StreamWrapper\StreamWrapperManager
-    arguments: ['@module_handler']
     calls:
       - [setContainer, ['@service_container']]
   stream_wrapper.public:
diff --git a/core/includes/file.inc b/core/includes/file.inc
index c5e2673..3472e24 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -103,8 +103,6 @@
  *   'type' bitmask has an on bit for each bit specified in $filter are
  *   returned.
  *
- * @see hook_stream_wrappers_alter()
- *
  * @deprecated in Drupal 8.x-dev, will be removed before Drupal 8.0.
  *   Use \Drupal::service('stream_wrapper_manager')->getWrappers().
  */
diff --git a/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php b/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php
index 43532a0..101980d 100644
--- a/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php
+++ b/core/lib/Drupal/Core/StreamWrapper/StreamWrapperManager.php
@@ -14,8 +14,6 @@
  * Provides a StreamWrapper manager.
  *
  * @see file_get_stream_wrappers()
- * @see hook_stream_wrappers_alter()
- * @see system_stream_wrappers()
  * @see \Drupal\Core\StreamWrapper\StreamWrapperInterface
  */
 class StreamWrapperManager extends ContainerAware {
@@ -50,23 +48,6 @@ class StreamWrapperManager extends ContainerAware {
   protected $wrappers = array();
 
   /**
-   * The module handler.
-   *
-   * @var \Drupal\Core\Extension\ModuleHandlerInterface
-   */
-  protected $moduleHandler;
-
-  /**
-   * Constructs a StreamWrapperManager object.
-   *
-   * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
-   *   The module handler.
-   */
-  public function __construct(ModuleHandlerInterface $module_handler) {
-    $this->moduleHandler = $module_handler;
-  }
-
-  /**
    * Provides Drupal stream wrapper registry.
    *
    * A stream wrapper is an abstraction of a file system that allows Drupal to
@@ -279,8 +260,6 @@ public function addStreamWrapper($service_id, $class, $scheme) {
    * Internal use only.
    */
   public function register() {
-    $this->moduleHandler->alter('stream_wrappers', $this->info);
-
     foreach ($this->info as $scheme => $info) {
       $this->registerWrapper($scheme, $info['class'], $info['type']);
     }
diff --git a/core/modules/system/file.api.php b/core/modules/system/file.api.php
index 65a6051..a4fd8e4 100644
--- a/core/modules/system/file.api.php
+++ b/core/modules/system/file.api.php
@@ -11,17 +11,6 @@
  */
 
 /**
- * Alters the list of PHP stream wrapper implementations.
- *
- * @see file_get_stream_wrappers()
- * @see \Drupal\Core\StreamWrapper\StreamWrapperManager
- */
-function hook_stream_wrappers_alter(&$wrappers) {
-  // Change the name of private files to reflect the performance.
-  $wrappers['private']['name'] = t('Slow files');
-}
-
-/**
  * Control access to private file downloads and specify HTTP headers.
  *
  * This hook allows modules to enforce permissions on file downloads whenever
diff --git a/core/modules/system/src/Tests/File/ConfigTest.php b/core/modules/system/src/Tests/File/ConfigTest.php
index 6a0bd65..aa37efd 100644
--- a/core/modules/system/src/Tests/File/ConfigTest.php
+++ b/core/modules/system/src/Tests/File/ConfigTest.php
@@ -37,15 +37,28 @@ function testFileConfigurationPage() {
       'file_default_scheme' => 'private',
     );
 
-    // Check that all fields are present.
-    foreach ($fields as $field => $path) {
-      $this->assertFieldByName($field);
-    }
+    // Check that public and private can be selected as default scheme.
+    $this->assertFieldById('edit-file-default-scheme-public');
+    $this->assertFieldById('edit-file-default-scheme-private');
 
     $this->drupalPostForm(NULL, $fields, t('Save configuration'));
     $this->assertText(t('The configuration options have been saved.'));
     foreach ($fields as $field => $value) {
       $this->assertFieldByName($field, $value);
     }
+
+    // Remove the private path, rebuild the container and verify that private
+    // can no longer be selected in the UI.
+    $settings['settings']['file_private_path'] = (object) array(
+      'value' => '',
+      'required' => TRUE,
+    );
+    $this->writeSettings($settings);
+    drupal_flush_all_caches();
+
+    $this->drupalGet('admin/config/media/file-system');
+    $this->assertFieldById('edit-file-default-scheme-public');
+    $this->assertNoFieldById('edit-file-default-scheme-private');
   }
+
 }
