diff --git a/src/de/deadlocker8/budgetmaster/main/Main.java b/src/de/deadlocker8/budgetmaster/main/Main.java
index ddb9b0c6e1e7c05e62784b9cade771b5292c824f..71cbbd2de9b4e40e4b994f2f8a503f4bb0f78eaa 100644
--- a/src/de/deadlocker8/budgetmaster/main/Main.java
+++ b/src/de/deadlocker8/budgetmaster/main/Main.java
@@ -18,11 +18,15 @@ import tools.PathUtils;
 
 public class Main extends Application
 {
+	public static Stage primaryStage;
+	
 	@Override
 	public void start(Stage stage)
 	{
+		primaryStage = stage;
+		
 		try
-		{			
+		{				
 		    Image icon = new Image("/de/deadlocker8/budgetmaster/resources/icon.png");
 			FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml"));
 			loader.setResources(Localization.getBundle());
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java b/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
index 506a7f6480dba8b70a52f3d7608f0abdb586543d..e617bd295c7b5cc506b6996d1ec28df1173cf94b 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
@@ -13,10 +13,14 @@ import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.LanguageType;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
+import de.deadlocker8.budgetmaster.main.Main;
 import de.deadlocker8.budgetmaster.ui.cells.LanguageCell;
 import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
 import javafx.scene.control.Alert;
 import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
@@ -29,6 +33,7 @@ import javafx.scene.control.TextArea;
 import javafx.scene.control.TextField;
 import javafx.scene.control.TextInputDialog;
 import javafx.scene.control.ToggleGroup;
+import javafx.scene.image.Image;
 import javafx.scene.layout.AnchorPane;
 import javafx.stage.FileChooser;
 import javafx.stage.Stage;
@@ -281,6 +286,7 @@ public class SettingsController
 		controller.refresh(controller.getFilterSettings());
 		controller.showNotification(Localization.getString(Strings.NOTIFICATION_SETTINGS_SAVE));
 		
+		//retstart application if language has changed
 		if(controller.getSettings().getLanguage() != previousLanguage)
 		{
 			Alert alert = new Alert(AlertType.INFORMATION);
@@ -296,8 +302,32 @@ public class SettingsController
 			
 			Optional<ButtonType> result = alert.showAndWait();						
 			if (result.get() == buttonTypeOne)
-			{
-				//TODO restart programm
+			{				
+				controller.getStage().close();				
+				
+				Localization.loadLanguage(controller.getSettings().getLanguage().getLocale());
+				
+				try
+				{				
+				    Image icon = new Image("/de/deadlocker8/budgetmaster/resources/icon.png");
+					FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml"));
+					loader.setResources(Localization.getBundle());
+					Parent root = (Parent)loader.load();
+					
+					Scene scene = new Scene(root, 450, 230);
+
+					((SplashScreenController)loader.getController()).init(Main.primaryStage, icon);
+
+					Main.primaryStage.setResizable(false);			
+					Main.primaryStage.getIcons().add(icon);
+					Main.primaryStage.setTitle(Localization.getString(Strings.APP_NAME));
+					Main.primaryStage.setScene(scene);			
+					Main.primaryStage.show();
+				}
+				catch(Exception e)
+				{
+					Logger.error(e);
+				}	
 			}
 			else
 			{