diff --git a/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php b/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php
index eed5c7038dbff7f5a41c372e806d7ede1b240a53..826727190f074310ce38e4af55587fa73cf0c9b2 100644
--- a/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php
+++ b/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php
@@ -39,7 +39,6 @@ final class ExtensionRemotePass implements CompilerPassInterface
 
         foreach ($container->findTaggedServiceIds($this->tagName) as $id => $tags) {
             $definition = $container->findDefinition($id);
-            $definition->setPublic(true);
             $configuration = [];
 
             foreach ($tags as $attributes) {
@@ -47,7 +46,7 @@ final class ExtensionRemotePass implements CompilerPassInterface
                 $configuration['enabled'] = (bool)($attributes['enabled'] ?? true);
             }
 
-            $remoteRegistryDefinition->addMethodCall('registerRemote', [$id, $configuration]);
+            $remoteRegistryDefinition->addMethodCall('registerRemote', [$definition, $configuration]);
         }
     }
 }
diff --git a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php
index bec492de3b27d6b799d5e196c63859551d6c9688..f66a26b507eece4a9f5ca46fc0ddab2a2e0ec857 100644
--- a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php
+++ b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php
@@ -17,9 +17,6 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Extensionmanager\Remote;
 
-use Psr\Container\ContainerInterface;
-use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException;
-
 /**
  * Registry of remote connectors.
  *
@@ -27,11 +24,6 @@ use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException;
  */
 class RemoteRegistry
 {
-    /**
-     * @var ContainerInterface
-     */
-    protected $container;
-
     /**
      * @var ExtensionDownloaderRemoteInterface[]
      */
@@ -42,22 +34,8 @@ class RemoteRegistry
      */
     protected $defaultRemote;
 
-    public function __construct(ContainerInterface $container)
-    {
-        $this->container = $container;
-    }
-
-    public function registerRemote(string $id, array $configuration): void
+    public function registerRemote(ExtensionDownloaderRemoteInterface $remote, array $configuration): void
     {
-        $remote = $this->container->get($id);
-
-        if (!$remote instanceof ExtensionDownloaderRemoteInterface) {
-            throw new ExtensionManagerException(
-                'Extension remote ' . $id . ' must implement ' . ExtensionDownloaderRemoteInterface::class,
-                1602173538
-            );
-        }
-
         $identifier = $remote->getIdentifier();
 
         $this->remotes[$identifier] = array_merge(