diff --git a/core/app/Controller.java b/core/app/Controller.java
index 4ec4dab15b827349d19870ad5ab8e187b05bf5c0..53d94fab18fac4892fbf5f31b11de3bb40c63861 100644
--- a/core/app/Controller.java
+++ b/core/app/Controller.java
@@ -157,6 +157,7 @@ public class Controller {
 	 */
 	private boolean initMap(String mapPath) throws IOException
 	{
+		Model.getInstance().restartMap();
 		BufferedReader br = new BufferedReader(new FileReader(mapPath));
 
 		String command;
diff --git a/core/app/GameController.java b/core/app/GameController.java
index 8b401568946deb18a201e91f6b5e11c7c70d7078..e1a3ee42d847c0d8c706b7e9a6fc56c2280dc896 100644
--- a/core/app/GameController.java
+++ b/core/app/GameController.java
@@ -39,8 +39,6 @@ public class GameController implements PropertyChangeListener{
 	 */
 	public void startGameProcess( int[] rZPMCount) throws GameRunningException
 	{
-		Model.getInstance().restartMap();
-
 		int failure = 0;
 		int counter = 0;
 
@@ -217,7 +215,7 @@ public class GameController implements PropertyChangeListener{
 
 		} // end of while
 
-
+		Model.getInstance().removePropertyChangeListener(this);
 
 		return;	// Map finished
 	}
@@ -316,6 +314,7 @@ public class GameController implements PropertyChangeListener{
 
 		// update only the changed fields
 		int coord = (int)evt.getNewValue();
+		System.out.println(coord);
 		int xCoord = coord / map[0].length;
 		int yCoord = coord % map[0].length;
 		Field changedField = (Field)evt.getOldValue();
diff --git a/core/game/Model.java b/core/game/Model.java
index 8c1f3b1bdd1fbf7f74c0d6e9253756e3b416eaf9..21f622f7635dceddca5b70f7194f53f0ba628f0e 100644
--- a/core/game/Model.java
+++ b/core/game/Model.java
@@ -50,6 +50,14 @@ public class Model implements PropertyChangeListener
 			propSupp.addPropertyChangeListener(listener);
 		}
 	}
+	
+	public void removePropertyChangeListener(PropertyChangeListener listener)
+	{
+		if(listener != null)
+		{
+			propSupp.removePropertyChangeListener(listener);
+		}
+	}
 
 	public void setColonel(Player colonel)
 	{
@@ -94,6 +102,7 @@ public class Model implements PropertyChangeListener
 
 	public void restartMap()
 	{
+		map = new ArrayList<>();
 		isMapFinished = false;
 	}