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..f9c7279 100644
--- a/tests/src/Unit/MailsystemManagerTest.php
+++ b/tests/src/Unit/MailsystemManagerTest.php
@@ -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());
+    if (version_compare(\Drupal::VERSION, '8.2', '>=')) {
+      $renderer = $this->getMock('\Drupal\Core\Render\RendererInterface');
+      $this->mailManager = new MailsystemManager($namespaces, $cache_backend, $module_handler, $this->configFactory, $logger_factory, $string_translation, $renderer, $theme_manager->reveal(), $theme_initialization->reveal());
+    }
+    else {
+      $this->mailManager = new MailsystemManager($namespaces, $cache_backend, $module_handler, $this->configFactory, $logger_factory, $string_translation, $theme_manager->reveal(), $theme_initialization->reveal());
+    }
   }
 
   public function testGetInstances_Default() {
