diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java b/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java
index aa3f6040b5c21df0ff9c3b31d2bb1d4163ede6c9..58f56a7d2a560e9b243d73c4d008e55cfd7951db 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/AutoBackupStrategy.java
@@ -1,6 +1,7 @@
 package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.database.DatabaseService;
+import de.deadlocker8.budgetmaster.settings.SettingsService;
 import de.thecodelabs.utils.util.Localization;
 
 import java.lang.reflect.InvocationTargetException;
@@ -37,7 +38,7 @@ public enum AutoBackupStrategy
 		return Localization.getString(localizationKey);
 	}
 
-	public Optional<Runnable> getBackupTask(DatabaseService databaseService)
+	public Optional<Runnable> getBackupTask(DatabaseService databaseService, SettingsService settingsService)
 	{
 		if(backupTaskType == null)
 		{
@@ -46,7 +47,8 @@ public enum AutoBackupStrategy
 
 		try
 		{
-			return Optional.of(backupTaskType.getConstructor(DatabaseService.class).newInstance(databaseService));
+			return Optional.of(backupTaskType.getConstructor(DatabaseService.class, SettingsService.class)
+					.newInstance(databaseService, settingsService));
 		}
 		catch(InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e)
 		{
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/BackupService.java b/src/main/java/de/deadlocker8/budgetmaster/backup/BackupService.java
similarity index 96%
rename from src/main/java/de/deadlocker8/budgetmaster/services/BackupService.java
rename to src/main/java/de/deadlocker8/budgetmaster/backup/BackupService.java
index e4a72344e9bfc92321979a05df0c3c97d48757cf..c55beff9a8dd833822fc3bfd4392b6245614c4fa 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/BackupService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/BackupService.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.services;
+package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.backup.AutoBackupTime;
 import de.deadlocker8.budgetmaster.database.DatabaseService;
@@ -70,7 +70,7 @@ public class BackupService
 		final Settings settings = settingsService.getSettings();
 		if(settings.isAutoBackupActive())
 		{
-			final Optional<Runnable> backupTaskOptional = settings.getAutoBackupStrategy().getBackupTask(databaseService);
+			final Optional<Runnable> backupTaskOptional = settings.getAutoBackupStrategy().getBackupTask(databaseService, settingsService);
 			backupTaskOptional.ifPresent(runnable -> startBackupCron(computeCron(settings.getAutoBackupTime(), settings.getAutoBackupDays()), runnable));
 		}
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/BackupTask.java b/src/main/java/de/deadlocker8/budgetmaster/backup/BackupTask.java
index 78246a12d49a5fe5328cdc8aae90bac7122d35cd..4c3e0f43935ad50dc869617a45bcac5b0b6c925b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/backup/BackupTask.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/BackupTask.java
@@ -2,6 +2,7 @@ package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.Main;
 import de.deadlocker8.budgetmaster.database.DatabaseService;
+import de.deadlocker8.budgetmaster.settings.SettingsService;
 
 import java.nio.file.Path;
 
@@ -10,11 +11,13 @@ public abstract class BackupTask implements Runnable
 	protected static final String DATABASE_FILE_NAME = "budgetmaster.mv.db";
 
 	private final DatabaseService databaseService;
+	private final SettingsService settingsService;
 	private final Path backupFolder;
 
-	protected BackupTask(DatabaseService databaseService)
+	protected BackupTask(DatabaseService databaseService, SettingsService settingsService)
 	{
 		this.databaseService = databaseService;
+		this.settingsService = settingsService;
 
 		final Path applicationSupportFolder = Main.getApplicationSupportFolder();
 		this.backupFolder = applicationSupportFolder.resolve("backups");
diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/LocalBackupTask.java b/src/main/java/de/deadlocker8/budgetmaster/backup/LocalBackupTask.java
index e7d18a55ed700b5e9caabad93ffc6e948f781475..a52c30e6a874b9a49e472f1172dec35668290512 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/backup/LocalBackupTask.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/LocalBackupTask.java
@@ -1,6 +1,7 @@
 package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.database.DatabaseService;
+import de.deadlocker8.budgetmaster.settings.SettingsService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -12,9 +13,9 @@ public class LocalBackupTask extends BackupTask
 
 	private final DatabaseService databaseService;
 
-	public LocalBackupTask(DatabaseService databaseService)
+	public LocalBackupTask(DatabaseService databaseService, SettingsService settingsService)
 	{
-		super(databaseService);
+		super(databaseService, settingsService);
 		this.databaseService = databaseService;
 	}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/LocalGitBackupTask.java b/src/main/java/de/deadlocker8/budgetmaster/backup/LocalGitBackupTask.java
index 9ac3349c8e67aab39407880cfde1906b90b1af91..3ec99e5b2ea0dee8c2d5f23f951ff1075004346b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/backup/LocalGitBackupTask.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/LocalGitBackupTask.java
@@ -2,6 +2,7 @@ package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.Main;
 import de.deadlocker8.budgetmaster.database.DatabaseService;
+import de.deadlocker8.budgetmaster.settings.SettingsService;
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.api.errors.GitAPIException;
 import org.eclipse.jgit.dircache.DirCache;
@@ -22,9 +23,9 @@ public class LocalGitBackupTask extends BackupTask
 
 	private final Path gitFolder;
 
-	public LocalGitBackupTask(DatabaseService databaseService)
+	public LocalGitBackupTask(DatabaseService databaseService, SettingsService settingsService)
 	{
-		super(databaseService);
+		super(databaseService, settingsService);
 		this.gitFolder = Main.getApplicationSupportFolder().resolve(".git");
 	}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/backup/RemoteGitBackupTask.java b/src/main/java/de/deadlocker8/budgetmaster/backup/RemoteGitBackupTask.java
index 7ee852f53ab1be108846295482c679c4f4a436be..6fba340a2e92e9aca25df56be05727038ac54dea 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/backup/RemoteGitBackupTask.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/backup/RemoteGitBackupTask.java
@@ -2,6 +2,8 @@ package de.deadlocker8.budgetmaster.backup;
 
 import de.deadlocker8.budgetmaster.Main;
 import de.deadlocker8.budgetmaster.database.DatabaseService;
+import de.deadlocker8.budgetmaster.settings.Settings;
+import de.deadlocker8.budgetmaster.settings.SettingsService;
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.api.errors.GitAPIException;
 import org.eclipse.jgit.dircache.DirCache;
@@ -26,13 +28,15 @@ public class RemoteGitBackupTask extends BackupTask
 	private final UsernamePasswordCredentialsProvider credentialsProvider;
 	private final String remote;
 
-	public RemoteGitBackupTask(DatabaseService databaseService)
+	public RemoteGitBackupTask(DatabaseService databaseService, SettingsService settingsService)
 	{
-		super(databaseService);
+		super(databaseService, settingsService);
 		this.gitFolder = Main.getApplicationSupportFolder().resolve(".git");
 
-		this.credentialsProvider = new UsernamePasswordCredentialsProvider("", "");
-		this.remote = "https://thecodelabs.de/deadlocker8/bm_test.git";
+		final Settings settings = settingsService.getSettings();
+
+		this.credentialsProvider = new UsernamePasswordCredentialsProvider(settings.getAutoBackupGitUserName(), settings.getAutoBackupGitPassword());
+		this.remote = settings.getAutoBackupGitUrl();
 	}
 
 	@Override
diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
index 0ccfd992d14354d6937442956704cbe4bb42440c..a144a5c33ff9f4cb2dd208de338b8c3b658e87ee 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
@@ -12,7 +12,7 @@ import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.database.DatabaseParser;
 import de.deadlocker8.budgetmaster.database.DatabaseService;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList;
-import de.deadlocker8.budgetmaster.services.BackupService;
+import de.deadlocker8.budgetmaster.backup.BackupService;
 import de.deadlocker8.budgetmaster.services.ImportService;
 import de.deadlocker8.budgetmaster.update.BudgetMasterUpdateService;
 import de.deadlocker8.budgetmaster.utils.LanguageType;
@@ -115,6 +115,11 @@ public class SettingsController extends BaseController
 			settings.setAutoBackupStrategy(AutoBackupStrategy.NONE);
 		}
 
+		if(settings.getAutoBackupGitPassword().equals("•••••"))
+		{
+			settings.setAutoBackupGitPassword(settingsService.getSettings().getAutoBackupGitPassword());
+		}
+
 		final String cron = scheduleTaskService.computeCron(settings.getAutoBackupTime(), settings.getAutoBackupDays());
 		scheduleTaskService.stopBackupCron();
 		if(settings.getAutoBackupStrategy() == AutoBackupStrategy.NONE)
@@ -128,7 +133,7 @@ public class SettingsController extends BaseController
 		}
 		else
 		{
-			final Optional<Runnable> backupTaskOptional = settings.getAutoBackupStrategy().getBackupTask(databaseService);
+			final Optional<Runnable> backupTaskOptional = settings.getAutoBackupStrategy().getBackupTask(databaseService, settingsService);
 			backupTaskOptional.ifPresent(runnable -> scheduleTaskService.startBackupCron(cron, runnable));
 		}
 
diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties
index 8d0c447b60a082c26e79f09e2c7472fb79ee1834..713f5e3871faf9dadb52aa5a8a67cbae1bd1567f 100644
--- a/src/main/resources/languages/base_de.properties
+++ b/src/main/resources/languages/base_de.properties
@@ -144,7 +144,7 @@ warning.empty.chart.name=Bitte gib einen Namen ein.
 warning.empty.chart.script=Bitte gib ein Script ein.
 warning.duplicate.template.name=Es existiert bereits eine Vorlage mit diesem Namen.
 warning.transaction.date=Das angegebene Datum entspricht nicht dem erlaubten Format. Erwartetes Format: DD.MM.YY, DDMMYY, DD.MM.YYYY, DDMMYYYY.
-warning.empty.git.user.url=Bitte gib die URL zum git-Server ein.
+warning.empty.git.url=Bitte gib die URL zum git-Server ein.
 warning.empty.git.user.name=Bitte gib deinen git-Nutzernamen ein.
 warning.empty.git.password=Bitte gib dein git-Passwort ein.
 
diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties
index 95d69f58374a23c78cc3ebb77ddf4361c1568d27..1f2543d5d87dcb0a5ef063e03773dc7fa89b322b 100644
--- a/src/main/resources/languages/base_en.properties
+++ b/src/main/resources/languages/base_en.properties
@@ -144,7 +144,7 @@ warning.empty.chart.name=Please insert a name.
 warning.empty.chart.script=Please insert a script.
 warning.duplicate.template.name=A template with this name is already existing.
 warning.transaction.date=The specified date does not correspond to the allowed format. Expected format: DD.MM.YY, DDMMYY, DD.MM.YYYY, DDMMYYYY.
-warning.empty.git.user.url=Please insert the git server's URL.
+warning.empty.git.url=Please insert the git server's URL.
 warning.empty.git.user.name=Please insert your git user name.
 warning.empty.git.password=Please insert your git password.
 
diff --git a/src/main/resources/templates/settings/settingsMacros.ftl b/src/main/resources/templates/settings/settingsMacros.ftl
index b12710956aeb83dc4082d52ad8d0de3e33feea3d..762a186e02ab7eba8df4694a0f891ba7b0b28d84 100644
--- a/src/main/resources/templates/settings/settingsMacros.ftl
+++ b/src/main/resources/templates/settings/settingsMacros.ftl
@@ -220,7 +220,7 @@
 
         <div class="input-field col s12 m12 l8 offset-l2">
             <i class="material-icons prefix">vpn_key</i>
-            <input id="settings-backup-auto-git-password" name="autoBackupGitPassword" type="text" <@validation.validation "autoBackupGitPassword"/> value="<#if settings.isAutoBackupActive()??>${settings.getAutoBackupGitPassword()}</#if>">
+            <input id="settings-backup-auto-git-password" name="autoBackupGitPassword" type="text" <@validation.validation "autoBackupGitPassword"/> value="•••••">
             <label for="settings-backup-auto-git-password">${locale.getString("settings.backup.auto.git.password")}</label>
         </div>