diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
index b0e10a2347778e251391711cd120a18c14d6d00e..670c2c6facdae45dfb25f400afaec151df8056a8 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java
@@ -129,17 +129,7 @@ public class TemplateController extends BaseController
 		}
 
 		final Template template = templateOptional.get();
-
-		if(template.getCategory() == null)
-		{
-			template.setCategory(categoryService.getRepository().findByType(CategoryType.NONE));
-		}
-
-		if(template.getAmount() == null)
-		{
-			final Account selectedAccount = accountService.getRepository().findByIsSelected(true);
-			template.setAccount(selectedAccount);
-		}
+		templateService.prepareTemplateForNewTransaction(template);
 
 		boolean isPayment = true;
 		if(template.getAmount() != null)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java
index bbeb9803a8d882018d617558ed29b417db80e118..4fc84a49d3626533807eaabac9fe192c059f915b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java
@@ -1,5 +1,9 @@
 package de.deadlocker8.budgetmaster.templates;
 
+import de.deadlocker8.budgetmaster.accounts.Account;
+import de.deadlocker8.budgetmaster.accounts.AccountService;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.services.Resetable;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import org.slf4j.Logger;
@@ -11,12 +15,16 @@ import org.springframework.stereotype.Service;
 public class TemplateService implements Resetable
 {
 	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
-	private TemplateRepository templateRepository;
+	private final TemplateRepository templateRepository;
+	private final AccountService accountService;
+	private final CategoryService categoryService;
 
 	@Autowired
-	public TemplateService(TemplateRepository templateRepository)
+	public TemplateService(TemplateRepository templateRepository, AccountService accountService, CategoryService categoryService)
 	{
 		this.templateRepository = templateRepository;
+		this.accountService = accountService;
+		this.categoryService = categoryService;
 	}
 
 	public TemplateRepository getRepository()
@@ -50,4 +58,18 @@ public class TemplateService implements Resetable
 
 		getRepository().save(template);
 	}
+
+	public void prepareTemplateForNewTransaction(Template template)
+	{
+		if(template.getCategory() == null)
+		{
+			template.setCategory(categoryService.getRepository().findByType(CategoryType.NONE));
+		}
+
+		if(template.getAmount() == null)
+		{
+			final Account selectedAccount = accountService.getRepository().findByIsSelected(true);
+			template.setAccount(selectedAccount);
+		}
+	}
 }