diff --git a/app/code/Magento/Email/Model/AbstractTemplate.php b/app/code/Magento/Email/Model/AbstractTemplate.php
index 85c545e1c97dba1c4c051123c4d34e36c228f78f..308e3273ea6a468eb2107a8660d0e8e7bec1fc84 100644
--- a/app/code/Magento/Email/Model/AbstractTemplate.php
+++ b/app/code/Magento/Email/Model/AbstractTemplate.php
@@ -653,11 +653,9 @@ abstract class AbstractTemplate extends AbstractModel implements TemplateTypesIn
     {
         if (empty($this->templateFilter)) {
             $this->templateFilter = $this->getFilterFactory()->create();
-            $this->templateFilter->setUseAbsoluteLinks(
-                $this->getUseAbsoluteLinks()
-            )->setStoreId(
-                $this->getDesignConfig()->getStore()
-            );
+            $this->templateFilter->setUseAbsoluteLinks($this->getUseAbsoluteLinks())
+                ->setStoreId($this->getDesignConfig()->getStore())
+                ->setUrlModel($this->urlModel);
         }
         return $this->templateFilter;
     }
diff --git a/app/code/Magento/Email/Model/Template/Filter.php b/app/code/Magento/Email/Model/Template/Filter.php
index b6b722a8cff71227353111176a8fcf346628ec33..64946825a5cb1b7deffb139ef53571039cf507de 100644
--- a/app/code/Magento/Email/Model/Template/Filter.php
+++ b/app/code/Magento/Email/Model/Template/Filter.php
@@ -136,9 +136,9 @@ class Filter extends \Magento\Framework\Filter\Template
     protected $_appState;
 
     /**
-     * @var \Magento\Backend\Model\UrlInterface
+     * @var \Magento\Framework\UrlInterface
      */
-    protected $backendUrlBuilder;
+    protected $urlModel;
 
     /**
      * @var \Pelago\Emogrifier
@@ -156,7 +156,7 @@ class Filter extends \Magento\Framework\Filter\Template
      * @param \Magento\Framework\View\LayoutInterface $layout
      * @param \Magento\Framework\View\LayoutFactory $layoutFactory
      * @param \Magento\Framework\App\State $appState
-     * @param \Magento\Backend\Model\UrlInterface $backendUrlBuilder
+     * @param \Magento\Framework\UrlInterface $urlModel
      * @param \Pelago\Emogrifier $emogrifier
      * @param array $variables
      *
@@ -173,7 +173,7 @@ class Filter extends \Magento\Framework\Filter\Template
         \Magento\Framework\View\LayoutInterface $layout,
         \Magento\Framework\View\LayoutFactory $layoutFactory,
         \Magento\Framework\App\State $appState,
-        \Magento\Backend\Model\UrlInterface $backendUrlBuilder,
+        \Magento\Framework\UrlInterface $urlModel,
         \Pelago\Emogrifier $emogrifier,
         $variables = []
     ) {
@@ -187,7 +187,7 @@ class Filter extends \Magento\Framework\Filter\Template
         $this->_layout = $layout;
         $this->_layoutFactory = $layoutFactory;
         $this->_appState = $appState;
-        $this->backendUrlBuilder = $backendUrlBuilder;
+        $this->urlModel = $urlModel;
         $this->emogrifier = $emogrifier;
         parent::__construct($string, $variables);
     }
@@ -495,22 +495,19 @@ class Filter extends \Magento\Framework\Filter\Template
             unset($params['url']);
         }
 
-        return $this->getUrl($path, $params);
+        return $this->urlModel->getUrl($path, $params);
     }
 
     /**
-     * @param string $path
-     * @param array $params
-     * @return string
+     * Set current URL model, which will be used for URLs generation.
+     *
+     * @param \Magento\Framework\UrlInterface $urlModel
+     * @return $this
      */
-    protected function getUrl($path, $params)
+    public function setUrlModel(\Magento\Framework\UrlInterface $urlModel)
     {
-        $isBackendStore = \Magento\Store\Model\Store::DEFAULT_STORE_ID === $this->getStoreId()
-            || \Magento\Store\Model\Store::ADMIN_CODE === $this->getStoreId();
-
-        return $isBackendStore
-            ? $this->backendUrlBuilder->getUrl($path, $params)
-            : $this->_storeManager->getStore($this->getStoreId())->getUrl($path, $params);
+        $this->urlModel = $urlModel;
+        return $this;
     }
 
     /**
diff --git a/app/code/Magento/Widget/Model/Template/Filter.php b/app/code/Magento/Widget/Model/Template/Filter.php
index e71e697f49742466dba8af2799006360a6694683..634ed2b9d6b5f2dfc503436364f6474e5e67fc7f 100755
--- a/app/code/Magento/Widget/Model/Template/Filter.php
+++ b/app/code/Magento/Widget/Model/Template/Filter.php
@@ -32,7 +32,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter
      * @param \Magento\Framework\View\LayoutInterface $layout
      * @param \Magento\Framework\View\LayoutFactory $layoutFactory
      * @param \Magento\Framework\App\State $appState
-     * @param \Magento\Backend\Model\UrlInterface $backendUrlBuilder
+     * @param \Magento\Framework\UrlInterface $urlModel
      * @param \Pelago\Emogrifier $emogrifier
      * @param \Magento\Widget\Model\Resource\Widget $widgetResource
      * @param \Magento\Widget\Model\Widget $widget
@@ -49,7 +49,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter
         \Magento\Framework\View\LayoutInterface $layout,
         \Magento\Framework\View\LayoutFactory $layoutFactory,
         \Magento\Framework\App\State $appState,
-        \Magento\Backend\Model\UrlInterface $backendUrlBuilder,
+        \Magento\Framework\UrlInterface $urlModel,
         \Pelago\Emogrifier $emogrifier,
         \Magento\Widget\Model\Resource\Widget $widgetResource,
         \Magento\Widget\Model\Widget $widget
@@ -67,7 +67,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter
             $layout,
             $layoutFactory,
             $appState,
-            $backendUrlBuilder,
+            $urlModel,
             $emogrifier
         );
     }