diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
index 675ff4d24ee452bf72dd7fa73704cd3ad5783e1b..2b8671db7e5ab0d92d6fd16276e0a8a6c7e1f39c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.accounts;
 import de.deadlocker8.budgetmaster.authentication.User;
 import de.deadlocker8.budgetmaster.authentication.UserRepository;
 import de.deadlocker8.budgetmaster.services.Resetable;
-import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
+import de.deadlocker8.budgetmaster.transactions.TransactionService;
 import de.deadlocker8.budgetmaster.utils.Strings;
 import de.thecodelabs.utils.util.Localization;
 import org.slf4j.Logger;
@@ -19,14 +19,14 @@ public class AccountService implements Resetable
 {
 	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private AccountRepository accountRepository;
-	private TransactionRepository transactionRepository;
+	private TransactionService transactionService;
 	private UserRepository userRepository;
 
 	@Autowired
-	public AccountService(AccountRepository accountRepository, TransactionRepository transactionRepository, UserRepository userRepository)
+	public AccountService(AccountRepository accountRepository, TransactionService transactionService, UserRepository userRepository)
 	{
 		this.accountRepository = accountRepository;
-		this.transactionRepository = transactionRepository;
+		this.transactionService = transactionService;
 		this.userRepository = userRepository;
 
 		createDefaults();
@@ -47,7 +47,7 @@ public class AccountService implements Resetable
 	public void deleteAccount(int ID)
 	{
 		Account accountToDelete = accountRepository.findOne(ID);
-		transactionRepository.delete(accountToDelete.getReferringTransactions());
+		transactionService.deleteTransactionsWithAccount(accountToDelete);
 		accountToDelete.setReferringTransactions(new ArrayList<>());
 
 		List<Account> accounts = accountRepository.findAll();
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
index 3510a0040cef8bc4613d651e5f8a2b0fd9a8f062..0e03741b5788a1d6089b68dbf181af6d68f6c173 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
@@ -31,4 +31,6 @@ public interface TransactionRepository extends JpaRepository<Transaction, Intege
 
 	@Query(value = "SELECT SUM(t.amount) FROM `transaction` as t WHERE t.transfer_account_id = ?1 AND t.date BETWEEN ?2 AND ?3", nativeQuery = true)
 	Integer getRestForTransferDestination(int accountID, String startDate, String endDate);
+
+	List<Transaction> findAllByTransferAccount(Account account);
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
index 9bce43ab8076a832aebffe52de2572f27d39fb0f..f50a0005c6e2e94d5d1727f3dd15d1a4f739d1b8 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
@@ -167,6 +167,18 @@ public class TransactionService implements Resetable
 		}
 	}
 
+	public void deleteTransactionsWithAccount(Account account) {
+		for(Transaction referringTransaction : account.getReferringTransactions())
+		{
+			deleteTransactionInRepo(referringTransaction.getID());
+		}
+
+		for(Transaction referringTransaction : transactionRepository.findAllByTransferAccount(account))
+		{
+			deleteTransactionInRepo(referringTransaction.getID());
+		}
+	}
+
 	@Override
 	public void createDefaults()
 	{
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseImportTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseImportTest.java
index 13dccf4e3585b51590321426a8d651f4a80f9258..459f7df76dd8d3ef69cc48f8cdecb9aeb1e6f0a8 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseImportTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseImportTest.java
@@ -292,6 +292,12 @@ public class DatabaseImportTest
 					return null;
 				}
 
+				@Override
+				public List<Transaction> findAllByTransferAccount(Account account)
+				{
+					return null;
+				}
+
 				@Override
 				public List<Transaction> findAll()
 				{