diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index 590ecf5ddb5f5c7dd500a76938ab2a31578c2858..724cb462b9b6034bd2544aed4bd3446ebb7b1d0d 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -3,7 +3,6 @@ package projekt.enigma.model;
 import org.apache.http.HttpException;
 
 import java.io.IOException;
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Random;
 
@@ -197,7 +196,7 @@ public class Codierer {
 		String[] nachricht = new String[4];
 		String[] codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe);
 
-		if (codierteNachricht[1] != null) {
+		if (codierteNachricht.length > 1 && codierteNachricht[1].split(" ").length > 3) {
 			nachricht[0] = codierteNachricht[0];
 			nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
 			nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0]));
@@ -214,6 +213,10 @@ public class Codierer {
 				}
 			}
 			nachricht[1] = sb.toString();
+		} else {
+			nachricht[0] = "";
+			nachricht[1] = "";
+			nachricht[2] = "Es liegen keine neuen Nachrichten im Funkraum für Sie vor.";
 		}
 
 		return nachricht;
@@ -257,9 +260,9 @@ public class Codierer {
 	 */
 	public char[] getWalzen() {
 		char[] walzen = new char[3];
-		walzen[0] = this.hardware.getWalzen()[0].getAnzeige();
-		walzen[1] = this.hardware.getWalzen()[1].getAnzeige();
-		walzen[2] = this.hardware.getWalzen()[2].getAnzeige();
+		walzen[0] = this.hardware.getWalzen()[0].getPosition();
+		walzen[1] = this.hardware.getWalzen()[1].getPosition();
+		walzen[2] = this.hardware.getWalzen()[2].getPosition();
 
 		return walzen;
 	}
@@ -320,8 +323,6 @@ public class Codierer {
 		String[] nachricht = codierteNachricht.split(" ");
 		StringBuilder sb = new StringBuilder();
 
-		System.out.println(Arrays.toString(nachricht));
-
 		// Uhrzeit
 		sb.append(nachricht[0]).append(" ");
 
diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
index 90211ea8f84ad300fcec10621ae0c4feeabdbd4b..99d41248aa3aca3a3529674c1750a79c4ebe8a3a 100644
--- a/src/main/java/projekt/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -134,33 +134,23 @@ public class Walze {
 	 */
 	public boolean dreheWalze(int richtung) {
 		boolean checkRing = false;
+		int korrektorFaktor = 0;
 
 		if (richtung == 1) {
-			Collections.rotate(Arrays.asList(this.walzeAlpha), richtung);
+			Collections.rotate(Arrays.asList(this.walzeAlpha), -1);
 		} else {
-			richtung = -1;
-			Collections.rotate(Arrays.asList(this.walzeAlpha), richtung);
+			korrektorFaktor = 1;
+			Collections.rotate(Arrays.asList(this.walzeAlpha), 1);
 		}
 
 		// gleicht die Ringstellung mit der aktuellen Position ab
-		if (this.getPosition() + 1 == this.ringstellung) {
+		if (this.getPosition() + korrektorFaktor == this.ringstellung) {
 			checkRing = true;
 		}
 
 		return checkRing;
 	}
 
-	/**
-	 * TODO: Dokumentieren // dass selbe wie getPosition
-	 * Gibt den Buchstaben zurueck der in der Walze aktuell eingestellt ist.
-	 *
-	 * @return char an der Stelle temp des Alphabets
-	 */
-	public char getAnzeige() {
-		int temp = this.fetchArrayIndex('A', this.walzeAlpha);
-		return this.alphabet[temp];
-	}
-
 	/**
 	 * Codiert den mitgegebenen Buchstaben anhand der gewaehlten Walze.
 	 *
diff --git a/src/test/java/projekt/enigma/model/HardwareTest.java b/src/test/java/projekt/enigma/model/HardwareTest.java
index 742e6aba1b8679f81f8729a183fc7dd377616aa9..8c1fc82e3ffb96e35caf063154630e06a8a434b8 100644
--- a/src/test/java/projekt/enigma/model/HardwareTest.java
+++ b/src/test/java/projekt/enigma/model/HardwareTest.java
@@ -29,23 +29,23 @@ public class HardwareTest {
 		char result;
 		h.resetWalzen();
 		result = h.codiere('A');
-		Assert.assertEquals("Codiere: A Erwartet P, erhalten " + result, 'P', result);
+		Assert.assertEquals("Codiere: A Erwartet G, erhalten " + result, 'G', result);
 		result = h.codiere('B');
-		Assert.assertEquals("Codiere: B Erwartet R, erhalten " + result, 'R', result);
+		Assert.assertEquals("Codiere: B Erwartet H, erhalten " + result, 'H', result);
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: I Erwartet E, erhalten " + result, 'E', result);
+		Assert.assertEquals("Codiere: I Erwartet C, erhalten " + result, 'C', result);
 		result = h.codiere('F');
-		Assert.assertEquals("Codiere: F Erwartet A, erhalten " + result, 'A', result);
+		Assert.assertEquals("Codiere: F Erwartet U, erhalten " + result, 'U', result);
 
 		h.resetWalzen();
-		result = h.codiere('P');
-		Assert.assertEquals("Decodiere: P Erwartet A, erhalten " + result, 'A', result);
-		result = h.codiere('R');
-		Assert.assertEquals("Decodiere: R Erwartet B, erhalten " + result, 'B', result);
-		result = h.codiere('E');
-		Assert.assertEquals("Decodiere: E Erwartet I, erhalten " + result, 'I', result);
-		result = h.codiere('A');
-		Assert.assertEquals("Decodiere: A Erwartet F, erhalten " + result, 'F', result);
+		result = h.codiere('G');
+		Assert.assertEquals("Decodiere: G Erwartet A, erhalten " + result, 'A', result);
+		result = h.codiere('H');
+		Assert.assertEquals("Decodiere: R Erwartet H, erhalten " + result, 'B', result);
+		result = h.codiere('C');
+		Assert.assertEquals("Decodiere: C Erwartet I, erhalten " + result, 'I', result);
+		result = h.codiere('U');
+		Assert.assertEquals("Decodiere: U Erwartet F, erhalten " + result, 'F', result);
 
 		h.resetWalzen();
 		h.getSteckbrett().setzeVertauschung('B', 'G');
@@ -55,10 +55,10 @@ public class HardwareTest {
 		h.getSteckbrett().setzeVertauschung('T', 'X');
 
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: Erwartet F, erhalten " + result, 'D', result);
+		Assert.assertEquals("Codiere: I Erwartet F, erhalten " + result, 'F', result);
 
 		h.resetWalzen();
-		result = h.codiere('D');
-		Assert.assertEquals("Codiere: Erwartet I, erhalten " + result, 'I', result);
+		result = h.codiere('K');
+		Assert.assertEquals("Codiere: K Erwartet D, erhalten " + result, 'D', result);
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/projekt/enigma/model/WalzeTest.java b/src/test/java/projekt/enigma/model/WalzeTest.java
index 532244a3c4b8292f852dc670cbffa53dee0854eb..a53f3832b36f9bffa8fba90d0c7919be12ddb09d 100644
--- a/src/test/java/projekt/enigma/model/WalzeTest.java
+++ b/src/test/java/projekt/enigma/model/WalzeTest.java
@@ -10,7 +10,7 @@ public class WalzeTest {
 	@Test
 	public void setRingstellung() {
 		Walze w = new Walze(1, 1);
-		char temp = w.getAnzeige();
+		char temp = w.getPosition();
 		Assert.assertEquals('A', temp);
 	}
 
@@ -18,14 +18,14 @@ public class WalzeTest {
 	public void dreheWalze() {
 		Walze w = new Walze(1, 3);
 		assertFalse("false erwartet, true geliefert", w.dreheWalze(1));
-		char temp = w.getAnzeige();
+		char temp = w.getPosition();
 		Assert.assertEquals("B erwartet, " + temp + " zurück gegeben", 'B', temp);
 	}
 
 	@Test
-	public void getAnzeige() {
+	public void getPosition() {
 		Walze w = new Walze(1, 1);
-		char temp = w.getAnzeige();
+		char temp = w.getPosition();
 		Assert.assertEquals('A', temp);
 	}