diff --git a/Classes/Controller/ConfigurationController.php b/Classes/Controller/ConfigurationController.php
index 4706262cd27f03ba30154b5fa27766da534ea5ce..f16f33f7152b199abe95635f08bfe2556f6f1d8a 100644
--- a/Classes/Controller/ConfigurationController.php
+++ b/Classes/Controller/ConfigurationController.php
@@ -48,7 +48,7 @@ use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
  * Controller for the configuration mode of the backend module
  */
 class ConfigurationController extends ActionController {
-	const DEFAULT_EXTENSION_KEY = 'sg_mail';
+	public const DEFAULT_EXTENSION_KEY = 'sg_mail';
 
 	/**
 	 * DocHeaderComponent
@@ -88,6 +88,7 @@ class ConfigurationController extends ActionController {
 			}
 		}
 
+		$this->view->assign('extensionKey', self::DEFAULT_EXTENSION_KEY);
 		$this->view->assign('mode', $mode);
 		if ($mode === 'edit') {
 			$templateToEdit = $registerArray[$selectedExtension][$selectedTemplate];
@@ -100,6 +101,7 @@ class ConfigurationController extends ActionController {
 
 			}
 			$this->view->assign('csv', $csv);
+			$this->view->assign('extensionKey', $selectedExtension);
 			$this->view->assign('description', $templateToEdit['description']);
 			$this->view->assign('editMode', 1);
 		}
@@ -142,6 +144,7 @@ class ConfigurationController extends ActionController {
 		$configuration = $this->request->getArgument('configuration');
 
 		$templateName = $configuration['templateName'];
+		$extensionKey = $configuration['extensionKey'];
 		$csv = str_replace("\r", '', $configuration['csv']);
 		$subject = $configuration['subject'];
 		$description = $configuration['description'];
@@ -163,7 +166,7 @@ class ConfigurationController extends ActionController {
 
 		$registerService = $this->objectManager->get(RegisterService::class);
 		$registerService->writeRegisterFile(
-			$templateName, self::DEFAULT_EXTENSION_KEY, $markers, $subject, $description
+			$templateName, $extensionKey, $markers, $subject, $description
 		);
 
 		$registerService->clearCaches();
@@ -189,8 +192,8 @@ class ConfigurationController extends ActionController {
 	 *
 	 * @throws StopActionException
 	 * @throws UnsupportedRequestTypeException
-	 * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException
 	 * @throws \TYPO3\CMS\Extbase\Mvc\Exception\NoSuchArgumentException
+	 * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException
 	 */
 	public function editAction(): void {
 		if (!$this->request->hasArgument('configuration')) {
@@ -205,6 +208,7 @@ class ConfigurationController extends ActionController {
 
 		$templateName = $configuration['templateName'];
 		$extensionKey = $configuration['extensionKey'];
+		$oldTemplateName = $configuration['oldTemplateName'];
 		$csv = str_replace("\r", '', $configuration['csv']);
 		$subject = $configuration['subject'];
 		$description = $configuration['description'];
@@ -224,9 +228,9 @@ class ConfigurationController extends ActionController {
 			];
 		}
 		$registerService = $this->objectManager->get(RegisterService::class);
-		$registerService->deleteRegisterFile($templateName);
+		$registerService->deleteRegisterFile($oldTemplateName);
 		$registerService->writeRegisterFile(
-			$templateName, self::DEFAULT_EXTENSION_KEY, $markers, $subject, $description
+			$templateName, $extensionKey, $markers, $subject, $description
 		);
 
 		$registerService->clearCaches();
diff --git a/Classes/Service/RegisterService.php b/Classes/Service/RegisterService.php
index 99d22dd108c8482a5c394486b78c27ab4a043c46..2425c6fb673de37688541672542394bb48000cf5 100644
--- a/Classes/Service/RegisterService.php
+++ b/Classes/Service/RegisterService.php
@@ -160,13 +160,10 @@ class RegisterService implements \TYPO3\CMS\Core\SingletonInterface {
 	) {
 		// template_path means where to find the mail body content (usually it's set directly in the registration
 		// as template_content)
+		$templatePath = '';
 		if ($configArray['template_path']) {
 			$templatePath = $configArray['template_path'];
-		} else {
-			if (!ExtensionManagementUtility::isLoaded($extensionKey)) {
-				return;
-			}
-
+		} elseif (ExtensionManagementUtility::isLoaded($extensionKey)) {
 			// transform template directory name: your_templates => YourTemplates/
 			$templateDirectoryParts = GeneralUtility::trimExplode('_', $templateKey);
 			$templateDirectory = '';
@@ -179,10 +176,6 @@ class RegisterService implements \TYPO3\CMS\Core\SingletonInterface {
 				self::DEFAULT_TEMPLATE_PATH . $templateDirectory;
 		}
 
-		if (!\is_dir($templatePath)) {
-			$templatePath = '';
-		}
-
 		$description = $configArray['description'];
 		$subject = $configArray['subject'];
 		$marker = $configArray['markers'];
diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf
index 35d5714aefce9497fa650b84ab120ecb1b1d3646..1c313426db5704338842f10254446a4d04e597dd 100644
--- a/Resources/Private/Language/de.locallang.xlf
+++ b/Resources/Private/Language/de.locallang.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2019-03-08T04:55:34Z">
+	<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2019-03-08T07:38:45Z">
 		<header>
 			<type>module</type>
 			<description>Language labels for the backend module belonging to extension 'sg_csv_importer'</description>
@@ -65,6 +65,10 @@
 				<source><![CDATA[Description]]></source>
 				<target><![CDATA[Beschreibung]]></target>
 			</trans-unit>
+			<trans-unit id="backend.create.extensionKey" approved="yes">
+				<source><![CDATA[Namespace]]></source>
+				<target><![CDATA[Namespace]]></target>
+			</trans-unit>
 			<trans-unit id="backend.create.info" approved="yes">
 				<source><![CDATA[Please insert the template marker in the following format: markerName; exampleValue; description <br><br>Whitespaces in marker names are ignored. <br />If you have multiple markers, seperate them with a new line: markerName1; exampleValue1; description1<br />markerName2; exampleValue2; description2 <br /><br />Example: first_name; Max; The first name of the client <br />last_name; Mustermann; The last name of the client]]></source>
 				<target><![CDATA[Bitte geben Sie die Template Marker im folgenden Format ein: markerName; beispiel; beschreibung <br><br>Leerzeichen in Markernamen werden ignoriert. <br /><br />Mehrere Marker werden mit der Eingabetaste getrennt: markerName1; beispiel1; beschreibung1<br />markerName2; beispiel2; beschreibung2 <br /><br />Beispiel: first_name; Max; Der Vorname des Kunden<br /> last_name; Mustermann; Der Nachname des Kunden]]></target>
diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf
index cebc15e0cc411736c7c63dcaa52f2a0f8c08b646..0c6e8fd5eb6507a27b17360604ab565e4b17b775 100644
--- a/Resources/Private/Language/locallang.xlf
+++ b/Resources/Private/Language/locallang.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="messages" date="2019-03-08T04:55:34Z">
+	<file source-language="en" datatype="plaintext" original="messages" date="2019-03-08T07:38:45Z">
 		<header>
 			<type>module</type>
 			<description>Language labels for the backend module belonging to extension 'sg_csv_importer'</description>
@@ -54,6 +54,9 @@
 			<trans-unit id="backend.create.description">
 				<source><![CDATA[Description]]></source>
 			</trans-unit>
+			<trans-unit id="backend.create.extensionKey">
+				<source><![CDATA[Namespace]]></source>
+			</trans-unit>
 			<trans-unit id="backend.create.info">
 				<source><![CDATA[Please insert the template marker in the following format: markerName; exampleValue; description <br><br>Whitespaces in marker names are ignored. <br />If you have multiple markers, seperate them with a new line: markerName1; exampleValue1; description1<br />markerName2; exampleValue2; description2 <br /><br />Example: first_name; Max; The first name of the client <br />last_name; Mustermann; The last name of the client]]></source>
 			</trans-unit>
diff --git a/Resources/Private/Templates/Configuration/Index.html b/Resources/Private/Templates/Configuration/Index.html
index 3493a39196be043fc4eabf105ae522e77f6c762b..27cd6c96805d047aa804eca5a2fd84612ffc1c1c 100644
--- a/Resources/Private/Templates/Configuration/Index.html
+++ b/Resources/Private/Templates/Configuration/Index.html
@@ -27,6 +27,11 @@
 		<div class="row">
 			<div class="col-xs-12 col-md-10 col-md-offset-1">
 				<f:form.hidden name="extensionKey" value="{selectedExtensionKey}"/>
+				<f:form.hidden name="oldTemplateName" property="oldTemplateName" value="{templateName}"/>
+				<div class="form-group">
+					<label for="extensionKey"><f:translate key="backend.create.extensionKey" /></label>
+					<f:form.textfield class="form-control" property="extensionKey" id="extensionKey" required="TRUE" value="{extensionKey}" />
+				</div>
 				<div class="form-group">
 					<label for="templateName"><f:translate key="backend.create.templateName" /></label>
 					<f:form.textfield class="form-control" property="templateName" id="templateName" required="TRUE" value="{templateName}" />