diff --git a/src/Plugin/ConfigCollector.php b/src/Plugin/ConfigCollector.php
index 8fca9849d2f07e6fd5ec8f7855ca6bba5e4f8518..4c8276815a64889a889596471cb2f371947490e5 100644
--- a/src/Plugin/ConfigCollector.php
+++ b/src/Plugin/ConfigCollector.php
@@ -57,7 +57,7 @@ class ConfigCollector implements ConfigCollectorInterface {
   /**
    * The extension path resolver.
    *
-   * @var \Drupal\Core\Extension\ExtensionPathResolver
+   * @var \Drupal\Core\Extension\ExtensionPathResolver|null
    */
   protected $extensionPathResolver;
 
@@ -83,7 +83,7 @@ class ConfigCollector implements ConfigCollectorInterface {
    *   The configuration provider manager.
    * @param string $install_profile
    *   The current installation profile.
-   * @param \Drupal\Core\Extension\ExtensionPathResolver $extension_path_resolver
+   * @param \Drupal\Core\Extension\ExtensionPathResolver|null $extension_path_resolver
    *   The extension path resolver.
    */
   public function __construct(
@@ -93,7 +93,7 @@ class ConfigCollector implements ConfigCollectorInterface {
     StorageInterface $provider_storage,
     ConfigProviderManager $config_provider_manager,
     $install_profile,
-    ExtensionPathResolver $extension_path_resolver,
+    ?ExtensionPathResolver $extension_path_resolver = NULL,
   ) {
     $this->configFactory = $config_factory;
     $this->activeStorage = $active_storage;
@@ -101,10 +101,27 @@ class ConfigCollector implements ConfigCollectorInterface {
     $this->providerStorage = $provider_storage;
     $this->configProviderManager = $config_provider_manager;
     $this->installProfile = $install_profile;
+    if (!$extension_path_resolver instanceof ExtensionPathResolver) {
+      @trigger_error('Calling ConfigCollector::__construct() without the $extension_path_resolver argument is deprecated in config_provider:3.0.0-alpha2 and it will be required in config_provider:3.1.0. See https://www.drupal.org/project/config_provider/issues/3511302', E_USER_DEPRECATED);
+    }
     $this->extensionPathResolver = $extension_path_resolver;
     $this->configProviders = [];
   }
 
+  /**
+   * Returns the extension path resolver.
+   *
+   * @return \Drupal\Core\Extension\ExtensionPathResolver
+   *   The extension path resolver.
+   */
+  protected function extensionPathResolver(): ExtensionPathResolver {
+    if ($this->extensionPathResolver instanceof ExtensionPathResolver) {
+      return $this->extensionPathResolver;
+    }
+    // @phpstan-ignore-next-line
+    return \Drupal::service('extension.path.resolver');
+  }
+
   /**
    * {@inheritdoc}
    */
@@ -151,7 +168,7 @@ class ConfigCollector implements ConfigCollectorInterface {
       $instance->setConfigManager($this->configManager);
       $instance->setProviderStorage($this->providerStorage);
       $instance->setInstallProfile($this->installProfile);
-      $instance->setExtensionPathResolver($this->extensionPathResolver);
+      $instance->setExtensionPathResolver($this->extensionPathResolver());
       $this->configProviders[$id] = $instance;
     }
   }
diff --git a/tests/src/Kernel/ConfigCollectorTest.php b/tests/src/Kernel/ConfigCollectorTest.php
index beb9963e0f034272c2399d34f542fb4fcb475399..bfc36a0b909302ffd6a3a36947918e95afbfb432 100644
--- a/tests/src/Kernel/ConfigCollectorTest.php
+++ b/tests/src/Kernel/ConfigCollectorTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\config_provider\Kernel;
 
 use Drupal\KernelTests\KernelTestBase;
+use Drupal\config_provider\Plugin\ConfigCollector;
 
 /**
  * Test description.
@@ -37,4 +38,25 @@ class ConfigCollectorTest extends KernelTestBase {
     $this->assertFalse($foo['bar']);
   }
 
+  /**
+   * Tests ConfigCollector constructor deprecation error.
+   *
+   * Verifies that instantiating a ConfigCollector object without the
+   * extension_path_resolver argument triggers the expected deprecation error.
+   *
+   * @group legacy
+   */
+  public function testConstructorDeprecation() {
+    $this->expectDeprecation('Calling ConfigCollector::__construct() without the $extension_path_resolver argument is deprecated in config_provider:3.0.0-alpha2 and it will be required in config_provider:3.1.0. See https://www.drupal.org/project/config_provider/issues/3511302');
+    $collector = new ConfigCollector(
+      $this->container->get('config.factory'),
+      $this->container->get('config.storage'),
+      $this->container->get('config.manager'),
+      $this->container->get('config_provider.storage'),
+      $this->container->get('plugin.manager.config_provider.processor'),
+      $this->container->getParameter('install_profile'),
+    );
+    $this->assertIsObject($collector);
+  }
+
 }