diff --git a/core/lib/Drupal/Core/CoreServiceProvider.php b/core/lib/Drupal/Core/CoreServiceProvider.php
index 413c650d4fbd55e78e2b1729d39818d4d609722d..005d535d0bff4209f5b80c8d1fb517aad6ed09a9 100644
--- a/core/lib/Drupal/Core/CoreServiceProvider.php
+++ b/core/lib/Drupal/Core/CoreServiceProvider.php
@@ -136,6 +136,9 @@ public function alter(ContainerBuilder $container) {
     foreach ($services as $id => $class) {
       if (!$container->hasDefinition($id)) {
         $definition = $container->register($id, $class);
+        // Mark the fallback services as deprecated in order to allow other
+        // modules to provide additional checks before relying or altering them.
+        $definition->setDeprecated(TRUE, 'The "%service_id%" service is in fallback mode. See https://drupal.org/node/3092086');
         switch ($id) {
           case 'path_alias.subscriber':
             $definition->addArgument(new Reference('path.alias_manager'));
diff --git a/core/modules/workspaces/src/WorkspacesServiceProvider.php b/core/modules/workspaces/src/WorkspacesServiceProvider.php
index 4df0da6db5652c6fe3ace11012d49184ab63019c..adc08bbce3ae1dd9ed4f0f4531538638263b4a38 100644
--- a/core/modules/workspaces/src/WorkspacesServiceProvider.php
+++ b/core/modules/workspaces/src/WorkspacesServiceProvider.php
@@ -22,9 +22,14 @@ public function alter(ContainerBuilder $container) {
     $container->setParameter('renderer.config', $renderer_config);
 
     // Replace the class of the 'path_alias.repository' service.
-    $container->getDefinition('path_alias.repository')
-      ->setClass(WorkspacesAliasRepository::class)
-      ->addMethodCall('setWorkspacesManager', [new Reference('workspaces.manager')]);
+    if ($container->hasDefinition('path_alias.repository')) {
+      $definition = $container->getDefinition('path_alias.repository');
+      if (!$definition->isDeprecated()) {
+        $definition
+          ->setClass(WorkspacesAliasRepository::class)
+          ->addMethodCall('setWorkspacesManager', [new Reference('workspaces.manager')]);
+      }
+    }
 
     // Ensure that there's no active workspace while running database updates by
     // removing the relevant tag from all workspace negotiator services.