diff --git a/src/de/deadlocker8/budgetmasterserver/main/Main.java b/src/de/deadlocker8/budgetmasterserver/main/Main.java
index a010832b59e78d71fd90618b0341188457604e30..a5b8df53e639aeb9de9f521d0ada86bd56d114df 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/Main.java
+++ b/src/de/deadlocker8/budgetmasterserver/main/Main.java
@@ -4,6 +4,7 @@ import java.io.File;
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Locale;
 import java.util.ResourceBundle;
@@ -28,29 +29,39 @@ public class Main
 		catch(URISyntaxException e1)
 		{
 			Logger.error(e1);
-		}		
+		}	
 		
-		if(!Files.exists(Paths.get("settings.json")))
+		try
 		{
+			Path settingsPath = Paths.get(Settings.class.getProtectionDomain().getCodeSource().getLocation().toURI()).resolve("settings.json");
+
+			if(!Files.exists(settingsPath))
+			{
+				try
+				{
+					Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/resources/settings.json"), settingsPath);
+				}
+				catch(IOException e)
+				{
+					Logger.error(e);
+				}
+			}
+
+			Settings settings;
 			try
 			{
-				Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/resources/settings.json"), Paths.get("settings.json"));
+				settings = Utils.loadSettings();
+				new SparkServer(settings);
 			}
-			catch(IOException e)
+			catch(IOException | URISyntaxException e)
 			{
 				Logger.error(e);
 			}
 		}
-
-		Settings settings;
-		try
-		{
-			settings = Utils.loadSettings();
-			new SparkServer(settings);
-		}
-		catch(IOException | URISyntaxException e)
-		{
-			Logger.error(e);
+		catch(URISyntaxException e1)
+		{			
+			Logger.error(e1);			
 		}
+		
 	}
 }