diff --git a/src/MailsystemManager.php b/src/MailsystemManager.php
index f7486b0..19723a7 100644
--- a/src/MailsystemManager.php
+++ b/src/MailsystemManager.php
@@ -9,16 +9,9 @@ namespace Drupal\mailsystem;
 
 use Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException;
 use Drupal\Component\Utility\SafeMarkup;
-use Drupal\Core\Cache\CacheBackendInterface;
-use Drupal\Core\Config\ConfigFactoryInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Logger\LoggerChannelFactoryInterface;
 use Drupal\Core\Mail\MailInterface;
 use Drupal\Core\Mail\MailManager;
-use Drupal\Core\StringTranslation\TranslationInterface;
-use Drupal\Core\Theme\Registry;
 use Drupal\Core\Theme\ThemeInitializationInterface;
-use Drupal\Core\Theme\ThemeManager;
 use Drupal\Core\Theme\ThemeManagerInterface;
 
 /**
@@ -46,11 +39,22 @@ class MailsystemManager extends MailManager {
   protected $themeInitialization;
 
   /**
-   * {@inheritdoc}
+   * Sets the theme manager for mailsystem.
+   *
+   * @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager
+   *   The theme manager.
    */
-  public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, ConfigFactoryInterface $config_factory, LoggerChannelFactoryInterface $logger_factory, TranslationInterface $string_translation, ThemeManagerInterface $theme_manager, ThemeInitializationInterface $theme_initialization) {
-    parent::__construct($namespaces, $cache_backend, $module_handler, $config_factory, $logger_factory, $string_translation);
+  public function setThemeManager(ThemeManagerInterface $theme_manager) {
     $this->themeManager = $theme_manager;
+  }
+
+  /**
+   * Sets the theme initialization for mailsystem.
+   *
+   * @param \Drupal\Core\Theme\ThemeInitializationInterface $theme_initialization
+   *   The theme initialization.
+   */
+  public function setThemeInitialization(ThemeInitializationInterface $theme_initialization) {
     $this->themeInitialization = $theme_initialization;
   }
 
diff --git a/src/MailsystemServiceProvider.php b/src/MailsystemServiceProvider.php
index 934c68c..029f609 100644
--- a/src/MailsystemServiceProvider.php
+++ b/src/MailsystemServiceProvider.php
@@ -30,8 +30,8 @@ class MailsystemServiceProvider implements ServiceProviderInterface, ServiceModi
     // Overrides mail-factory class to use our own mail manager.
     $container->getDefinition('plugin.manager.mail')
       ->setClass('Drupal\mailsystem\MailsystemManager')
-      ->addArgument(new Reference('theme.manager'))
-      ->addArgument(new Reference('theme.initialization'));
+      ->addMethodCall('setThemeManager', [new Reference('theme.manager')])
+      ->addMethodCall('setThemeInitialization', [new Reference('theme.initialization')]);
   }
 
 }
diff --git a/tests/src/Unit/MailsystemManagerTest.php b/tests/src/Unit/MailsystemManagerTest.php
index f7c0a19..fc5303c 100644
--- a/tests/src/Unit/MailsystemManagerTest.php
+++ b/tests/src/Unit/MailsystemManagerTest.php
@@ -6,7 +6,7 @@
 
 namespace Drupal\Tests\mailsystem\Unit;
 
-use Drupal\Core\Theme\Registry;
+use Drupal\Core\Render\RendererInterface;
 use Drupal\Core\Theme\ThemeInitialization;
 use Drupal\Core\Theme\ThemeManager;
 use Drupal\mailsystem\MailsystemManager;
@@ -68,10 +68,14 @@ class MailsystemManagerTest extends UnitTestCase {
 
     $theme_manager = $this->prophesize(ThemeManager::class);
     $theme_initialization = $this->prophesize(ThemeInitialization::class);
-    $default_theme_registry = $this->prophesize(Registry::class);
-    $mail_theme_registry = $this->prophesize(Registry::class);
 
-    $this->mailManager = new MailsystemManager($namespaces, $cache_backend, $module_handler, $this->configFactory, $logger_factory, $string_translation, $theme_manager->reveal(), $theme_initialization->reveal(), $default_theme_registry->reveal(), $mail_theme_registry->reveal());
+    // The additional renderer argument only exists in 8.2.x, but the additional
+    // argument is ignored in 8.1.x.
+    $renderer = $this->prophesize(RendererInterface::class);
+    $this->mailManager = new MailsystemManager($namespaces, $cache_backend, $module_handler, $this->configFactory, $logger_factory, $string_translation, $renderer->reveal());
+
+    $this->mailManager->setThemeInitialization($theme_initialization->reveal());
+    $this->mailManager->setThemeManager($theme_manager->reveal());
   }
 
   public function testGetInstances_Default() {
