diff --git a/app/code/Magento/Customer/Model/AccountManagement.php b/app/code/Magento/Customer/Model/AccountManagement.php
index ba646549f6919a5f933831cdb33b05930988a2d8..894dd5931a63c6be9e8590cc422aa2d0de92b666 100644
--- a/app/code/Magento/Customer/Model/AccountManagement.php
+++ b/app/code/Magento/Customer/Model/AccountManagement.php
@@ -817,6 +817,8 @@ class AccountManagement implements AccountManagementInterface
         } catch (MailException $e) {
             // If we are not able to send a new account email, this should be ignored
             $this->logger->critical($e);
+        } catch (\UnexpectedValueException $e) {
+            $this->logger->error($e);
         }
     }
 
diff --git a/app/code/Magento/Customer/Test/Unit/Model/AccountManagementTest.php b/app/code/Magento/Customer/Test/Unit/Model/AccountManagementTest.php
index 2a6b9fe6fd4ea44edfed07f85aaaf36d69357eca..676e9c98a2008eebe06aca66f14602573f88c036 100644
--- a/app/code/Magento/Customer/Test/Unit/Model/AccountManagementTest.php
+++ b/app/code/Magento/Customer/Test/Unit/Model/AccountManagementTest.php
@@ -1721,4 +1721,102 @@ class AccountManagementTest extends \PHPUnit\Framework\TestCase
 
         return $dateTime;
     }
+
+    public function testCreateAccountUnexpectedValueException()
+    {
+        $websiteId = 1;
+        $storeId = null;
+        $defaultStoreId = 1;
+        $customerId = 1;
+        $customerEmail = 'email@email.com';
+        $newLinkToken = '2jh43j5h2345jh23lh452h345hfuzasd96ofu';
+        $exception = new \UnexpectedValueException('Template file was not found');
+
+        $datetime = $this->prepareDateTimeFactory();
+
+        $address = $this->createMock(\Magento\Customer\Api\Data\AddressInterface::class);
+        $address->expects($this->once())
+            ->method('setCustomerId')
+            ->with($customerId);
+        $store = $this->createMock(\Magento\Store\Model\Store::class);
+        $store->expects($this->once())
+            ->method('getId')
+            ->willReturn($defaultStoreId);
+        $website = $this->createMock(\Magento\Store\Model\Website::class);
+        $website->expects($this->atLeastOnce())
+            ->method('getStoreIds')
+            ->willReturn([1, 2, 3]);
+        $website->expects($this->once())
+            ->method('getDefaultStore')
+            ->willReturn($store);
+        $customer = $this->createMock(\Magento\Customer\Api\Data\CustomerInterface::class);
+        $customer->expects($this->atLeastOnce())
+            ->method('getId')
+            ->willReturn($customerId);
+        $customer->expects($this->atLeastOnce())
+            ->method('getEmail')
+            ->willReturn($customerEmail);
+        $customer->expects($this->atLeastOnce())
+            ->method('getWebsiteId')
+            ->willReturn($websiteId);
+        $customer->expects($this->atLeastOnce())
+            ->method('getStoreId')
+            ->willReturn($storeId);
+        $customer->expects($this->once())
+            ->method('setStoreId')
+            ->with($defaultStoreId);
+        $customer->expects($this->once())
+            ->method('getAddresses')
+            ->willReturn([$address]);
+        $customer->expects($this->once())
+            ->method('setAddresses')
+            ->with(null);
+        $this->customerRepository->expects($this->once())
+            ->method('get')
+            ->with($customerEmail)
+            ->willReturn($customer);
+        $this->share->expects($this->once())
+            ->method('isWebsiteScope')
+            ->willReturn(true);
+        $this->storeManager->expects($this->atLeastOnce())
+            ->method('getWebsite')
+            ->with($websiteId)
+            ->willReturn($website);
+        $this->customerRepository->expects($this->atLeastOnce())
+            ->method('save')
+            ->willReturn($customer);
+        $this->addressRepository->expects($this->atLeastOnce())
+            ->method('save')
+            ->with($address);
+        $this->customerRepository->expects($this->once())
+            ->method('getById')
+            ->with($customerId)
+            ->willReturn($customer);
+        $this->random->expects($this->once())
+            ->method('getUniqueHash')
+            ->willReturn($newLinkToken);
+        $customerSecure = $this->createPartialMock(
+            \Magento\Customer\Model\Data\CustomerSecure::class,
+            ['setRpToken', 'setRpTokenCreatedAt', 'getPasswordHash']
+        );
+        $customerSecure->expects($this->any())
+            ->method('setRpToken')
+            ->with($newLinkToken);
+        $customerSecure->expects($this->any())
+            ->method('setRpTokenCreatedAt')
+            ->with($datetime)
+            ->willReturnSelf();
+        $customerSecure->expects($this->any())
+            ->method('getPasswordHash')
+            ->willReturn(null);
+        $this->customerRegistry->expects($this->atLeastOnce())
+            ->method('retrieveSecureData')
+            ->willReturn($customerSecure);
+        $this->emailNotificationMock->expects($this->once())
+            ->method('newAccount')
+            ->willThrowException($exception);
+        $this->logger->expects($this->once())->method('error')->with($exception);
+
+        $this->accountManagement->createAccount($customer);
+    }
 }
diff --git a/app/code/Magento/Email/Model/Template/Config.php b/app/code/Magento/Email/Model/Template/Config.php
index bdd9054e7969b9f73b99244f5883499c7246eeaa..8a7e7172a8e6ec6e07b031e97a8cb5a1225ceb19 100644
--- a/app/code/Magento/Email/Model/Template/Config.php
+++ b/app/code/Magento/Email/Model/Template/Config.php
@@ -205,8 +205,9 @@ class Config implements \Magento\Framework\Mail\Template\ConfigInterface
         $designParams['module'] = $module;
 
         $file = $this->_getInfo($templateId, 'file');
+        $filename = $this->getFilename($file, $designParams, $module);
 
-        return $this->viewFileSystem->getEmailTemplateFileName($file, $designParams, $module);
+        return $filename;
     }
 
     /**
@@ -230,4 +231,24 @@ class Config implements \Magento\Framework\Mail\Template\ConfigInterface
         }
         return $data[$templateId][$fieldName];
     }
+
+    /**
+     * @param string $file
+     * @param array $designParams
+     * @param string $module
+     *
+     * @return string
+     *
+     * @throws \UnexpectedValueException
+     */
+    private function getFilename($file, array $designParams, $module)
+    {
+        $filename = $this->viewFileSystem->getEmailTemplateFileName($file, $designParams, $module);
+
+        if ($filename === false) {
+            throw new \UnexpectedValueException("Template file '{$file}' is not found.");
+        }
+
+        return $filename;
+    }
 }
diff --git a/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php b/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php
index 47c3ac1e7e45075a7d8ab6c9ca33fb13193dd355..6a565ca08eb9b4909e18c695d701d01197ee3615 100644
--- a/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php
+++ b/app/code/Magento/Email/Test/Unit/Model/Template/ConfigTest.php
@@ -272,6 +272,19 @@ class ConfigTest extends \PHPUnit\Framework\TestCase
         $this->assertEquals('_files/Fixture/ModuleOne/view/frontend/email/one.html', $actualResult);
     }
 
+    /**
+     * @expectedException \UnexpectedValueException
+     * @expectedExceptionMessage Template file 'one.html' is not found
+     */
+    public function testGetTemplateFilenameWrongFileName()
+    {
+        $this->viewFileSystem->expects($this->once())->method('getEmailTemplateFileName')
+            ->with('one.html', $this->designParams, 'Fixture_ModuleOne')
+            ->willReturn(false);
+
+        $this->model->getTemplateFilename('template_one', $this->designParams);
+    }
+
     /**
      * @param string $getterMethod
      * @param $argument