diff --git a/.classpath b/.classpath
index 1eab1ce9b2dd0933f8b9fd93cba50029f679d079..fff3d8eecea29a77a735c994290a8cfaaf1b1674 100644
--- a/.classpath
+++ b/.classpath
@@ -6,5 +6,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/SQLite"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/JSON"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/GSON"/>
 	<classpathentry kind="output" path="class"/>
 </classpath>
diff --git a/src/core/Settings.java b/src/core/Settings.java
new file mode 100644
index 0000000000000000000000000000000000000000..91f8fe04c6b682a43e04b24dc2e021c0e686ccf3
--- /dev/null
+++ b/src/core/Settings.java
@@ -0,0 +1,44 @@
+package core;
+
+public class Settings
+{
+	private String lastProject;
+	private String lastTask;
+	
+	public Settings()
+	{
+		
+	}
+
+	public Settings(String lastProject, String lastTask)
+	{
+		this.lastProject = lastProject;
+		this.lastTask = lastTask;
+	}
+
+	public String getLastProject()
+	{
+		return lastProject;
+	}
+
+	public void setLastProject(String lastProject)
+	{
+		this.lastProject = lastProject;
+	}
+
+	public String getLastTask()
+	{
+		return lastTask;
+	}
+
+	public void setLastTask(String lastTask)
+	{
+		this.lastTask = lastTask;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "Settings [lastProject=" + lastProject + ", lastTask=" + lastTask + "]";
+	}
+}
\ No newline at end of file
diff --git a/src/core/Utils.java b/src/core/Utils.java
index 08da47c52988d64c7889a406e08647d8e541901a..9b3570581aa1f0bae1dac36b2c2acff319b09c7c 100644
--- a/src/core/Utils.java
+++ b/src/core/Utils.java
@@ -1,9 +1,24 @@
 package core;
 
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Arrays;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import com.google.gson.Gson;
+
+import tools.PathUtils;
 
 public class Utils 
 {   
+	private static final ResourceBundle bundle = ResourceBundle.getBundle("userInterface/", Locale.GERMANY);
+	
     private static final String[] AVAILABLE_MONTH_NAMES = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"};
 
     public static String getMonthName(int monthNumberOneIndexed)
@@ -14,5 +29,32 @@ public class Utils
     public static int getMonthNumber(String monthName)
     {
         return Arrays.asList(AVAILABLE_MONTH_NAMES).indexOf(monthName) + 1;
-    }
+    }    
+    
+    public static Settings loadSettings()
+	{
+		Settings settings;
+		try
+		{
+			Gson gson = new Gson();			
+			Reader reader = Files.newBufferedReader(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder") + "/settings.json"), Charset.forName("UTF-8"));
+			settings = gson.fromJson(reader, Settings.class);	
+			reader.close();
+			return settings;
+		}
+		catch(IOException e)
+		{
+			return null;
+		}
+	}
+	
+	public static void saveSettings(Settings settings) throws IOException
+	{		
+		Gson gson = new Gson();
+		String jsonString = gson.toJson(settings);
+		PathUtils.checkFolder(new File(PathUtils.getOSindependentPath() + bundle.getString("folder")));
+		Writer writer = Files.newBufferedWriter(Paths.get(PathUtils.getOSindependentPath() + bundle.getString("folder")  + "/settings.json"), Charset.forName("UTF-8"));
+		writer.write(jsonString);
+		writer.close();
+	}
 }
\ No newline at end of file
diff --git a/src/userInterface/UserInterfaceController.java b/src/userInterface/UserInterfaceController.java
index c121a59b6315ceaa9060a5842e776bd4f0e085e4..ae1a027dcc5f416ed80cb67f5bda832d7deb6384 100644
--- a/src/userInterface/UserInterfaceController.java
+++ b/src/userInterface/UserInterfaceController.java
@@ -17,6 +17,8 @@ import core.Exporter;
 import core.Importer;
 import core.LogObject;
 import core.SQL;
+import core.Settings;
+import core.Utils;
 import javafx.application.Platform;
 import javafx.beans.property.SimpleStringProperty;
 import javafx.beans.property.StringProperty;
@@ -93,13 +95,13 @@ public class UserInterfaceController
 	private Stage waitingStage = new Stage();
 	private Image icon;
 	private final ResourceBundle bundle = ResourceBundle.getBundle("userInterface/", Locale.GERMANY);
+	private Settings settings;
 
 	public void init(Stage stage)
 	{		
 	    this.stage = stage;
 	    
 	    labelSeparator.setStyle("-fx-background-color: #cdc6c6; -fx-font-size: 0.7");
-//	    labelSeparator.setMaxHeight(1.5);
 	    
 		PathUtils.checkFolder(new File(new File(savePath).getParent()));
 		icon = new Image("/userInterface/icon.png");
@@ -151,6 +153,8 @@ public class UserInterfaceController
 				startButton.setSelected(false);
 			}
 		});
+		
+		loadSettings();
 	}
 
 	/**
@@ -192,7 +196,7 @@ public class UserInterfaceController
 				newStage.getIcons().add(icon);
 
 				ProjektFensterController pfc = (ProjektFensterController)fxmlLoader.getController();
-				pfc.init(this, stage, savePath, icon);
+				pfc.init(this, newStage, savePath, icon);
 
 				newStage.setResizable(false);
 				newStage.initModality(Modality.APPLICATION_MODAL);
@@ -439,7 +443,7 @@ public class UserInterfaceController
 			newStage.setScene(scene);
 			newStage.setTitle("Diagramme");
 			ChartGUIController controller = (ChartGUIController)fxmlLoader.getController();
-			controller.init(savePath, stage, icon);
+			controller.init(savePath, newStage, icon);
 			newStage.getIcons().add(icon);
 			newStage.initOwner(stage);
 
@@ -467,6 +471,9 @@ public class UserInterfaceController
 		log = new LogObject();
 		log.setProject(project);
 		log.setTask(task);
+		settings.setLastProject(project);
+		settings.setLastTask(task);
+		saveSettings();
 	}
 
 	private void startClock()
@@ -520,7 +527,7 @@ public class UserInterfaceController
 			newStage.setTitle("Zeit nachträglich einfügen");
 
 			InsertTimeController controller = (InsertTimeController)fxmlLoader.getController();
-			controller.init(stage, this, savePath, icon);
+			controller.init(newStage, this, savePath, icon);
 			newStage.getIcons().add(icon);
 			newStage.initOwner(stage);
 
@@ -719,7 +726,7 @@ public class UserInterfaceController
 			newStage.initOwner(stage);
 
 			EditController pfc = (EditController)fxmlLoader.getController();			
-			pfc.init(this, stage, savePath, icon, object);
+			pfc.init(this, newStage, savePath, icon, object);
 
 			newStage.setResizable(false);
 			newStage.initModality(Modality.APPLICATION_MODAL);
@@ -784,7 +791,34 @@ public class UserInterfaceController
 			}			
 		}		
 	}
-
+	
+	public void saveSettings()
+	{
+		try
+		{
+			Utils.saveSettings(settings);
+		}
+		catch(IOException e)
+		{
+			Logger.error(e);
+		}
+	}
+	
+	public void loadSettings()
+	{
+		settings = Utils.loadSettings();
+		if(settings != null)
+		{
+			setLabels(settings.getLastProject(), settings.getLastTask());
+			projektExistiertFlag = true;
+			newProject(settings.getLastProject(), settings.getLastTask());
+		}
+		else
+		{
+			settings = new Settings();
+		}
+	}
+	
 	public void about()
 	{
 		AlertGenerator.showAboutAlert(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"), "Robert Goldmann", icon, stage, null, false);		
diff --git a/src/userInterface/_de.properties b/src/userInterface/_de.properties
index a3e72481213f74aaf179af72c3e48cdb62bcc72d..f9bf1ec8d8b36e621257eeec65ee4da8b40a0b39 100644
--- a/src/userInterface/_de.properties
+++ b/src/userInterface/_de.properties
@@ -1,4 +1,6 @@
 app.name=SmartTime
 version.code=29
 version.name=5.0.3
-version.date=10.07.16
\ No newline at end of file
+version.date=10.07.16
+
+folder=Deadlocker/SmartTime
\ No newline at end of file