diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
index 144d001c125cc5ed87df6fb6a80530b6a02e9ee0..d5206a55c4aeab9443ee4c9837b09efd8f4bdeca 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
@@ -101,8 +101,8 @@ public class TemplateController extends BaseController
 		}
 
 		model.addAttribute("templates", templateService.getAllEntitiesAsc());
-		model.addAttribute("currentTemplate", templateOptional.get());
-		return "templates/templates";
+		model.addAttribute("templateToDelete", templateOptional.get());
+		return "templates/deleteTemplateModal";
 	}
 
 	@GetMapping("/{ID}/delete")
diff --git a/src/main/resources/static/js/templates.js b/src/main/resources/static/js/templates.js
index a094beb60987070acbba33ec1539095226653e97..06d11716c6b3e0c211b797ca27244e99417c2fa4 100644
--- a/src/main/resources/static/js/templates.js
+++ b/src/main/resources/static/js/templates.js
@@ -1,10 +1,5 @@
 $(document).ready(function()
 {
-    if($('#modalConfirmDelete').length)
-    {
-        $('#modalConfirmDelete').modal('open');
-    }
-
     M.Collapsible.init(document.querySelector('.collapsible.expandable'), {
         accordion: false
     });
@@ -39,6 +34,11 @@ $(document).ready(function()
         document.getElementById('searchTemplate').focus();
         enableTemplateHotKeys();
     }
+
+    $('.button-request-delete-template').click(function()
+    {
+        fetchAndShowModalContent(this.dataset.url, '#deleteModalContainerOnDemand', '#modalConfirmDelete', function(){});
+    });
 });
 
 let selectedTemplateName = null;
diff --git a/src/main/resources/templates/templates/deleteTemplateModal.ftl b/src/main/resources/templates/templates/deleteTemplateModal.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..868f349b3ed13bb8b1e82911a8e8e1b192b1c397
--- /dev/null
+++ b/src/main/resources/templates/templates/deleteTemplateModal.ftl
@@ -0,0 +1,7 @@
+<#global locale = static["de.thecodelabs.utils.util.Localization"]>
+<#import "/spring.ftl" as s>
+<#import "../helpers/header.ftl" as header>
+
+<@header.modalConfirmDelete title=locale.getString("info.title.template.delete") confirmUrl='/templates' itemId=templateToDelete.getID() confirmButtonTextKey='info.title.template.delete'>
+    <p>${locale.getString("info.text.template.delete", templateToDelete.getTemplateName())}</p>
+</@header.modalConfirmDelete>
\ No newline at end of file
diff --git a/src/main/resources/templates/templates/templateFunctions.ftl b/src/main/resources/templates/templates/templateFunctions.ftl
index 606a2c2b4572f87e030f4e9c291fb0836f158ec7..b12f22a1461b9d7444ba80d214086e57c220a925 100644
--- a/src/main/resources/templates/templates/templateFunctions.ftl
+++ b/src/main/resources/templates/templates/templateFunctions.ftl
@@ -26,7 +26,7 @@
                                 <@templateHeader template/>
                                 <div class="collapsible-header-button">
                                     <@header.buttonFlat url='/templates/' + template.ID?c + '/edit' icon='edit' localizationKey='' classes="no-padding text-default"/>
-                                    <@header.buttonFlat url='/templates/' + template.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default"/>
+                                    <@header.buttonFlat url='/templates/' + template.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default button-request-delete-template" isDataUrl=true/>
                                     <@header.buttonLink url='/templates/' + template.ID?c + '/select' icon='note_add' localizationKey='' classes='button-select-template'/>
                                 </div>
                             </div>
diff --git a/src/main/resources/templates/templates/templates.ftl b/src/main/resources/templates/templates/templates.ftl
index 65ae7deffe4feedeae3c238ef5d0eedced840637..29b6eed010090b38cf2fb0fd251d2986800f29b0 100644
--- a/src/main/resources/templates/templates/templates.ftl
+++ b/src/main/resources/templates/templates/templates.ftl
@@ -46,11 +46,7 @@
                 </div>
             </@header.content>
 
-            <#if currentTemplate??>
-                <@header.modalConfirmDelete title=locale.getString("info.title.template.delete") confirmUrl='/templates' cancelUrlBase='/templates' itemId=currentTemplate.getID() confirmButtonTextKey='info.title.template.delete'>
-                    <p>${locale.getString("info.text.template.delete", currentTemplate.getTemplateName())}</p>
-                </@header.modalConfirmDelete>
-            </#if>
+            <div id="deleteModalContainerOnDemand"></div>
         </main>
 
         <#import "../helpers/scripts.ftl" as scripts>