diff --git a/core/core.update_early_services.yml b/core/core.update_early_services.yml
new file mode 100644
index 0000000..0d2399d
--- /dev/null
+++ b/core/core.update_early_services.yml
@@ -0,0 +1,17 @@
+parameters:
+  session.storage.options: {}
+services:
+  database:
+    class: Drupal\Core\Database\Connection
+    factory: Drupal\Core\Database\Database::getConnection
+    arguments: [default]
+  session_configuration:
+    class: Drupal\Core\Session\SessionConfiguration
+    arguments: ['%session.storage.options%']
+  authentication:
+    class: Drupal\Core\Authentication\AuthenticationManager
+    arguments: ['@authentication_collector']
+  authentication_collector:
+    class: Drupal\Core\Authentication\AuthenticationCollector
+    tags:
+      - { name: service_collector, tag: authentication_provider, call: addProvider }
diff --git a/core/lib/Drupal/Core/Update/UpdateRegistry.php b/core/lib/Drupal/Core/Update/UpdateRegistry.php
index 0190e04..d615962 100644
--- a/core/lib/Drupal/Core/Update/UpdateRegistry.php
+++ b/core/lib/Drupal/Core/Update/UpdateRegistry.php
@@ -82,13 +82,16 @@ class UpdateRegistry {
    *   The key value store.
    * @param bool|NULL $include_tests
    *   (optional) A flag whether to include tests in the scanning of modules.
+   * @param string $update_type
+   *   (optional) The update type.
    */
-  public function __construct($root, $site_path, array $enabled_modules, KeyValueStoreInterface $key_value, $include_tests = NULL) {
+  public function __construct($root, $site_path, array $enabled_modules, KeyValueStoreInterface $key_value, $include_tests = NULL, $update_type = 'post_update') {
     $this->root = $root;
     $this->sitePath = $site_path;
     $this->enabledModules = $enabled_modules;
     $this->keyValue = $key_value;
     $this->includeTests = $include_tests;
+    $this->updateType = $update_type;
   }
 
   /**
