diff --git a/Praktikum/VINF_MaerklinControl/.classpath b/Praktikum/VINF_MaerklinControl/.classpath
index 423fc1c028e9c1fd9775f261ca668d3c11307374..ef0f0db4af6180ed5196999f319a0c944249c726 100644
--- a/Praktikum/VINF_MaerklinControl/.classpath
+++ b/Praktikum/VINF_MaerklinControl/.classpath
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
-	<classpathentry kind="lib" path="D:/Users/Philipp/gitlab/VInf/Praktikum/VINF_MaerklinControl/controlsfx-8.40.12.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
+	<classpathentry kind="lib" path="/home/lukas/VInf/Praktikum/VINF_MaerklinControl/controlsfx-8.40.12.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Praktikum/VINF_MaerklinControl/bin/.gitignore b/Praktikum/VINF_MaerklinControl/bin/.gitignore
index c14b100539d33e27c566ee63e8f25be8379cf169..d0380dd1b383afcf938027633d2902f4e14690f3 100644
--- a/Praktikum/VINF_MaerklinControl/bin/.gitignore
+++ b/Praktikum/VINF_MaerklinControl/bin/.gitignore
@@ -1 +1,2 @@
 /gui/
+/server/
diff --git a/Praktikum/VINF_MaerklinControl/bin/common/Properties.class b/Praktikum/VINF_MaerklinControl/bin/common/Properties.class
index 680801dcf289b5287de748be0b58330b5fee9d44..fbc4f673aebf589bf17fad845c16888b95b54077 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/common/Properties.class and b/Praktikum/VINF_MaerklinControl/bin/common/Properties.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class
index 91a92d0511ba80da321a112ff9c9f46348ff5281..8bf54e7156281ecca3db64172c699d1dbb2bb8e9 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class
index 824dae680925b6eeb32b9d0a9c62a3b97b954c79..f272ef3746b8c3408b5886e7d95bff637a2d7cc0 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class
index 744366b7f03a08ef18d230db577a5c1456acb36d..6a2d1016ebba22dc195943324fab97d521466868 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class
index 7e71f251611ed0d532eefdea856567f20da664fb..02f39aafe939f6bcea50d21c0bdf18127bc0028e 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class
index 86accba0c001ecc868558a047b7eb9c9133b916b..0a6fa090871ffb5639ad89d215289dcf140a134b 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class
index d4dd5a8184f3066f63fae0511990b93ae30dab75..893fd0f7b68e413e751be2122e5fc6d6a5353682 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class
index 9c912940a43206d9b74ab2466c61498d4886fb68..d1bc6059aa050e2c06bbb3b9be55f174a6c28c3c 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/model/Engine.class b/Praktikum/VINF_MaerklinControl/bin/gui/model/Engine.class
index 70daf85d355a2ba387aa43d0b47184ab4bd5b27c..11d28d37e4e07a7e13b4af329bbe6387d42821a3 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/model/Engine.class and b/Praktikum/VINF_MaerklinControl/bin/gui/model/Engine.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/model/Settings.class b/Praktikum/VINF_MaerklinControl/bin/gui/model/Settings.class
index 6e3f4f643ab156b0ea23d1167574d2a8ad1315c9..57f9b707ca5fbcd9262e2d7b64a943a73b3afe94 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/model/Settings.class and b/Praktikum/VINF_MaerklinControl/bin/gui/model/Settings.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/model/Switch.class b/Praktikum/VINF_MaerklinControl/bin/gui/model/Switch.class
index 8f96aaa57ba1a1873a51dec262eea4c64ff1bd3a..99428519d08472273e8e15fb4d185fc3e8725b02 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/model/Switch.class and b/Praktikum/VINF_MaerklinControl/bin/gui/model/Switch.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class
index 06031cbb88424aba6ae1302ab7dd6d0f0982b52e..53db6af0fef88ce05f017d0770de6b5df7ec4b20 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class and b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/server/Engine.class b/Praktikum/VINF_MaerklinControl/bin/server/Engine.class
index 61fe9f164dc6f24e543e1a5391eb450b7d7169c5..ddeb21d94820b3679bf8989d78b055a8e2a0c416 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/server/Engine.class and b/Praktikum/VINF_MaerklinControl/bin/server/Engine.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class
index f22ee468a140cc7e74b01e0951de358494f54002..c116d862c6b31c41dc3fd90997f8b57dca65c1d7 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class and b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class differ
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
index ea9b6b778bf1bedb1de3e4fef49e5125b2c0f37f..f0b31a5889e04b24529df99365f8b56f07aff5f0 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
@@ -87,7 +87,7 @@ public class MainApp extends Application {
     @Override
     public void start(Stage primaryStage) {
         this.primaryStage = primaryStage;
-        this.primaryStage.setTitle("M�rklin Control Client");
+        this.primaryStage.setTitle("M�rklin Control Client");
         this.primaryStage.getIcons().add(new Image("file:res/BO.png"));
         initRootLayout();
         initTabs();
@@ -394,19 +394,28 @@ public class MainApp extends Application {
 					e.printStackTrace();
 				}
 				finally {
-					try {
-						// Properly shuts down the connection to the server in case of an unexpected termination of the client-instance
-						byte[] datagram = {Properties.SEPERATOR, (byte) 0x00, (byte) 0x00, (byte) Properties.SESSION_ABORT, (byte) 0x00, (byte) 0x00};
-						out.write(datagram);
-						client.close();
-						connectionEstablished = false;
-						running = false;
-						settingsController.updateSettingsStatus();
-						
-					} catch (Exception e) {
-						setStatus("Error at: establishConnection (shutting down connection)");
-						e.printStackTrace();
-					}
+					if (connectionEstablished) {
+						try {
+							// Properly shuts down the connection to the server in case of an unexpected termination of the client-instance
+							byte[] datagram = {Properties.SEPERATOR, (byte) 0x00, (byte) 0x00, (byte) Properties.SESSION_ABORT, (byte) 0x00, (byte) 0x00};
+							out.write(datagram);
+							client.close();
+							connectionEstablished = false;
+							running = false;
+							Platform.runLater(new Runnable() {
+	
+								// Sets the connection-esttablishing-buttons text to "Verbindung herstellen"
+								@Override
+								public void run() {
+									CONTROLLER_INSTANCE.settingsController.updateSettingsStatus();
+								}
+								
+							});
+						} catch (Exception e) {
+							setStatus("Error at: establishConnection (shutting down connection)");
+							e.printStackTrace();
+						}
+					}		
 				}
 			}
 		}
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
index 98eded74290c84c51acddd125d109d3ae4572037..72473ad1a5aa51918562b40b6c302374cace9ea6 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
@@ -66,7 +66,6 @@ public class EngineController {
     
     public void handleEngineDirection(){
     	eng.setDirection(engineFwdButton.isSelected());
-    	eng.setSpeed(0);
     	mainApp.setEngineDirection(eng);
     	updateEngineStatus();
     }
@@ -81,15 +80,15 @@ public class EngineController {
     	engineFwdButton.setSelected(eng.getDirection().get());
     	engineRevButton.setSelected(!eng.getDirection().get());
     	if (eng.getDirection().get())
-    		status.append("vorw�rts");
+    		status.append("vorw�rts");
     	else
-    		status.append("r�ckw�rts");
+    		status.append("r�ckw�rts");
     	mainApp.setStatus(status.toString());
     }
     
     public void setSelectedEngine(Engine eng){
     	this.eng = eng;
-    	mainApp.setStatus(eng.toString() + " ausgew�hlt");
+    	mainApp.setStatus(eng.toString() + " ausgew�hlt");
     	updateEngineStatus();
     }
     
diff --git a/Praktikum/VINF_MaerklinControl/src/server/Engine.java b/Praktikum/VINF_MaerklinControl/src/server/Engine.java
index 60f39ceeff56b80bc26de0989f3df7adabf4a71e..be0e29c6cddac6f3843b8dd2fe1e23e3a4532ce2 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/Engine.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/Engine.java
@@ -67,7 +67,6 @@ public class Engine {
 			throw e;
 		}
 		udpProtocol.changeEngineDirection(engineID, engineDirection);
-		listener.listen();
 	}
 	
 	public void setEngineSpeed(int newEngineSpeed) throws Exception {