diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
index da04c1e392730bd1b3ecf4e3d5bd344dbc604ddb..24243f30bd9fa111a8f555bd39807c194133b30c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
@@ -1,10 +1,14 @@
 package de.deadlocker8.budgetmaster.settings;
 
+import com.google.gson.JsonObject;
 import de.deadlocker8.budgetmaster.Build;
 import de.deadlocker8.budgetmaster.accounts.AccountService;
 import de.deadlocker8.budgetmaster.authentication.User;
 import de.deadlocker8.budgetmaster.authentication.UserRepository;
-import de.deadlocker8.budgetmaster.backup.*;
+import de.deadlocker8.budgetmaster.backup.AutoBackupStrategy;
+import de.deadlocker8.budgetmaster.backup.AutoBackupTime;
+import de.deadlocker8.budgetmaster.backup.BackupService;
+import de.deadlocker8.budgetmaster.backup.GitHelper;
 import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.controller.BaseController;
@@ -12,7 +16,6 @@ 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.backup.BackupService;
 import de.deadlocker8.budgetmaster.services.ImportService;
 import de.deadlocker8.budgetmaster.update.BudgetMasterUpdateService;
 import de.deadlocker8.budgetmaster.utils.LanguageType;
@@ -361,14 +364,25 @@ public class SettingsController extends BaseController
 	}
 
 	@PostMapping("/git/test")
-	public String testGit(@RequestParam(value = "autoBackupGitUrl") String autoBackupGitUrl,
+	public String testGit(Model model,
+						  @RequestParam(value = "autoBackupGitUrl") String autoBackupGitUrl,
 						  @RequestParam(value = "autoBackupGitUserName") String autoBackupGitUserName,
 						  @RequestParam(value = "autoBackupGitPassword") String autoBackupGitPassword)
 	{
 		final CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(autoBackupGitUserName, autoBackupGitPassword);
 		final boolean isValidConnection = GitHelper.checkConnection(autoBackupGitUrl, credentialsProvider);
 
-		// TODO: return isValidConnection or json
-		return "1234";
+		String localizedMessage = Localization.getString("settings.backup.auto.git.test.fail");
+		if(isValidConnection)
+		{
+			localizedMessage = Localization.getString("settings.backup.auto.git.test.success");
+		}
+
+		final JsonObject data = new JsonObject();
+		data.addProperty("isValidConnection", isValidConnection);
+		data.addProperty("localizedMessage", localizedMessage);
+
+		model.addAttribute("data", data.toString());
+		return "helpers/sendData";
 	}
 }
\ No newline at end of file
diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties
index 53365a79efb87662774cd4f270677c46713ccc6b..a9cb8a5c45d0e1574dfaf6bbf2624ae252fcdd71 100644
--- a/src/main/resources/languages/base_de.properties
+++ b/src/main/resources/languages/base_de.properties
@@ -212,6 +212,8 @@ settings.backup.auto.git.url=Adresse des Git-Servers
 settings.backup.auto.git.user.name=Git Nutzername
 settings.backup.auto.git.password=Git Passwort
 settings.backup.auto.git.test=Verbindung testen
+settings.backup.auto.git.test.success=Verbindung erfolgreich!
+settings.backup.auto.git.test.fail=Verbindung fehlgeschlagen!
 
 settings.database.import=Importieren
 settings.database.export=Exportieren
diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties
index b7055ddc0d241746352ace2d11c9565e4e09f599..84dbe5cb7e4837f9798b73435717c787cc4f03af 100644
--- a/src/main/resources/languages/base_en.properties
+++ b/src/main/resources/languages/base_en.properties
@@ -212,6 +212,8 @@ settings.backup.auto.git.url=Git server address
 settings.backup.auto.git.user.name=Git user name
 settings.backup.auto.git.password=Git password
 settings.backup.auto.git.test=Test connection
+settings.backup.auto.git.test.success=Connection successful!
+settings.backup.auto.git.test.fail=Connection failed!
 
 settings.database.import=Import
 settings.database.export=Export
diff --git a/src/main/resources/static/js/settings.js b/src/main/resources/static/js/settings.js
index 62be0a988ccd9f33df73bdb9e4b8dcb4ad81ab3b..525315df5612496c67771579fdab1202ad88eb1f 100644
--- a/src/main/resources/static/js/settings.js
+++ b/src/main/resources/static/js/settings.js
@@ -35,11 +35,12 @@ $(document).ready(function()
             },
             success: function(data)
             {
-                M.toast({html: data});
-            },
-            error: function(data)
-            {
-                console.log(data);
+                let parsedData = JSON.parse(data);
+                let isValidConnection = parsedData['isValidConnection']
+                M.toast({
+                    html: parsedData['localizedMessage'],
+                    classes: isValidConnection ? 'green': 'red'
+                });
             }
         });
     });
diff --git a/src/main/resources/templates/helpers/sendData.ftl b/src/main/resources/templates/helpers/sendData.ftl
new file mode 100644
index 0000000000000000000000000000000000000000..db9fd7bdd6add6f1d531ff441ef0a1a8ade18500
--- /dev/null
+++ b/src/main/resources/templates/helpers/sendData.ftl
@@ -0,0 +1 @@
+${data}