diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php
index 7ed9a772ec..e8d4e0d7f1 100644
--- a/phpBB/includes/functions_messenger.php
+++ b/phpBB/includes/functions_messenger.php
@@ -204,10 +204,12 @@ class messenger
 	/**
 	* Set email template to use
 	*/
-	function template($template_file, $template_lang = '', $template_path = '')
+	function template($template_file, $template_lang = '', $template_path = '', $template_dir_prefix = '')
 	{
 		global $config, $phpbb_root_path, $user;
 
+		$template_dir_prefix = (!$template_dir_prefix || $template_dir_prefix[0] === '/') ? $template_dir_prefix : '/' . $template_dir_prefix;
+
 		$this->setup_template();
 
 		if (!trim($template_file))
@@ -226,7 +228,7 @@ class messenger
 		if ($template_path)
 		{
 			$template_paths = array(
-				$template_path,
+				$template_path . $template_dir_prefix,
 			);
 		}
 		else
@@ -235,7 +237,7 @@ class messenger
 			$template_path .= $template_lang . '/email';
 
 			$template_paths = array(
-				$template_path,
+				$template_path . $template_dir_prefix,
 			);
 
 			// we can only specify default language fallback when the path is not a custom one for which we
@@ -245,14 +247,14 @@ class messenger
 				$fallback_template_path = (!empty($user->lang_path)) ? $user->lang_path : $phpbb_root_path . 'language/';
 				$fallback_template_path .= basename($config['default_lang']) . '/email';
 
-				$template_paths[] = $fallback_template_path;
+				$template_paths[] = $fallback_template_path . $template_dir_prefix;
 			}
 		}
 
 		$this->set_template_paths(array(
 			array(
 				'name' 		=> $template_lang . '_email',
-				'ext_path' 	=> 'language/' . $template_lang . '/email'
+				'ext_path' 	=> 'language/' . $template_lang . '/email' . $template_dir_prefix,
 			),
 		), $template_paths);
 
diff --git a/phpBB/phpbb/notification/method/messenger_base.php b/phpBB/phpbb/notification/method/messenger_base.php
index 8a8e284e13..97bad524e1 100644
--- a/phpBB/phpbb/notification/method/messenger_base.php
+++ b/phpBB/phpbb/notification/method/messenger_base.php
@@ -97,7 +97,7 @@ abstract class messenger_base extends \phpbb\notification\method\base
 				continue;
 			}
 
-			$messenger->template($template_dir_prefix . $notification->get_email_template(), $user['user_lang']);
+			$messenger->template($notification->get_email_template(), $user['user_lang'], '', $template_dir_prefix);
 
 			$messenger->set_addresses($user);