diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java
index d29f4d2b7d5aec54469268bc304b8bea16a87a6f..487a621004880842ccd936a34b3e118f537a3722 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java
@@ -23,7 +23,6 @@ import de.ozgcloud.alfa.common.command.Command;
 import de.ozgcloud.alfa.common.command.CommandOrder;
 import de.ozgcloud.alfa.common.command.CommandTestFactory;
 import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus;
-import de.ozgcloud.common.errorhandling.TechnicalException;
 
 public class StatusChangeHistoryBuilderTest {
 
@@ -81,7 +80,7 @@ public class StatusChangeHistoryBuilderTest {
 		void shouldReturnFalse(CommandOrder order) {
 			var isStatusChangeCommand = builder.isStatusChangeCommand(CommandTestFactory.createBuilder().order(order).build());
 
-			assertThat(isStatusChangeCommand).isTrue();
+			assertThat(isStatusChangeCommand).isFalse();
 		}
 	}
 
@@ -131,6 +130,7 @@ public class StatusChangeHistoryBuilderTest {
 		private final CommandWithPrevious commandWithPrevious = new CommandWithPrevious(
 				command,
 				Optional.of(new CommandWithPrevious(previousCommand, Optional.empty())));
+		private final CommandWithPrevious commandWithoutPrevious = new CommandWithPrevious(command, Optional.empty());
 
 		@Test
 		void shouldReturnStatusBeforeChange() {
@@ -144,7 +144,7 @@ public class StatusChangeHistoryBuilderTest {
 
 		@Test
 		void shouldReturnDefaultValue() {
-			var status = builder.getStatusBeforeChange(commandWithPrevious);
+			var status = builder.getStatusBeforeChange(commandWithoutPrevious);
 
 			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU));
 		}
@@ -156,18 +156,81 @@ public class StatusChangeHistoryBuilderTest {
 		private final CommandWithPrevious commandWithPrevious = new CommandWithPrevious(command0105, Optional.empty());
 
 		@Test
-		void shouldReturnChangedFromStatus() {
-			var expectedStatus = LoremIpsum.getInstance().getWords(2);
+		void shouldReturnStatusAfterChange() {
+			var status = "Status";
+			doReturn(status).when(builder).getStatus(command0105);
+
+			var statusAfterChange = builder.getStatusAfterChange(commandWithPrevious);
+
+			assertThat(statusAfterChange).isEqualTo(status);
+		}
+	}
+
+	@Nested
+	class TestGetStatus {
+
+		@ParameterizedTest
+		@EnumSource(mode = Mode.INCLUDE, names = { "VORGANG_ANNEHMEN", "VORGANG_ZURUECKSTELLEN" })
+		void shouldReturnAngenommen(CommandOrder order) {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(order).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN));
+		}
+
+		@Test
+		void shouldReturnVerworfen() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_VERWERFEN).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN));
+		}
+
+		@Test
+		void shouldReturnNeu() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ZURUECKHOLEN).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU));
+		}
+
+		@ParameterizedTest
+		@EnumSource(mode = Mode.INCLUDE, names = { "VORGANG_BEARBEITEN", "VORGANG_WIEDEREROEFFNEN" })
+		void shouldReturnInBearbeitung(CommandOrder order) {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(order).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG));
+		}
+
+		@Test
+		void shouldReturnBeschieden() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_BESCHEIDEN).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN));
+		}
 
-			var status = builder.getStatusAfterChange(commandWithPrevious);
+		@Test
+		void shouldReturnAbschliessen() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ABSCHLIESSEN).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN));
+		}
+
+		@Test
+		void shouldReturnZuLoeschen() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ZUM_LOESCHEN_MARKIEREN).build());
+
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN));
+		}
+
+		@Test
+		void shouldReturnGeloescht() {
+			var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_LOESCHEN).build());
 
-			assertThat(status).isEqualTo(expectedStatus);
+			assertThat(status).isEqualTo(StatusChangeHistoryBuilder.GELOESCHT_NAME);
 		}
 
 		@Test
-		void shouldThrowExceptionIfStatusIsEmpty() {
-			assertThatExceptionOfType(TechnicalException.class).isThrownBy(() -> builder.getStatusAfterChange(commandWithPrevious))
-					.withMessageStartingWith("Unknown status after change for command " + command0105.getId());
+		void shouldtThrowIllegalArgumentException() {
+			assertThatThrownBy(() -> builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.ASSIGN_USER).build())).isInstanceOf(
+					IllegalArgumentException.class);
 		}
 	}
 }
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java
index b2de1ac3d9ebda72acd97e3a1615206cee8466fb..b84be9a9db940b194d9fe30d344d2662dada23ba 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java
@@ -104,12 +104,24 @@ public class VorgangChangeHistoryServiceITCase {
 			var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory();
 
 			assertThat(history).hasSize(6);
-			checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.ANGENOMMEN.name());
-			checkBeforeAndAfterValues(history.get(1), VorgangStatus.ANGENOMMEN.name(), VorgangStatus.IN_BEARBEITUNG.name());
-			checkBeforeAndAfterValues(history.get(2), VorgangStatus.IN_BEARBEITUNG.name(), VorgangStatus.BESCHIEDEN.name());
-			checkBeforeAndAfterValues(history.get(3), VorgangStatus.BESCHIEDEN.name(), VorgangStatus.ABGESCHLOSSEN.name());
-			checkBeforeAndAfterValues(history.get(4), VorgangStatus.ABGESCHLOSSEN.name(), VorgangStatus.ZU_LOESCHEN.name());
-			checkBeforeAndAfterValues(history.get(5), VorgangStatus.ZU_LOESCHEN.name(), VorgangStatus.ABGESCHLOSSEN.name());
+			checkBeforeAndAfterValues(history.get(0),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN));
+			checkBeforeAndAfterValues(history.get(1),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG));
+			checkBeforeAndAfterValues(history.get(2),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN));
+			checkBeforeAndAfterValues(history.get(3),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN));
+			checkBeforeAndAfterValues(history.get(4),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN));
+			checkBeforeAndAfterValues(history.get(5),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN));
 		}
 
 		@Test
@@ -119,9 +131,15 @@ public class VorgangChangeHistoryServiceITCase {
 			var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory();
 
 			assertThat(history).hasSize(3);
-			checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.VERWORFEN.name());
-			checkBeforeAndAfterValues(history.get(1), VorgangStatus.VERWORFEN.name(), VorgangStatus.ZU_LOESCHEN.name());
-			checkBeforeAndAfterValues(history.get(2), VorgangStatus.ZU_LOESCHEN.name(), VorgangStatus.VERWORFEN.name());
+			checkBeforeAndAfterValues(history.get(0),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN));
+			checkBeforeAndAfterValues(history.get(1),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN));
+			checkBeforeAndAfterValues(history.get(2),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN));
 		}
 
 		@Test
@@ -131,8 +149,12 @@ public class VorgangChangeHistoryServiceITCase {
 			var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory();
 
 			assertThat(history).hasSize(2);
-			checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.VERWORFEN.name());
-			checkBeforeAndAfterValues(history.get(1), VorgangStatus.VERWORFEN.name(), VorgangStatus.NEU.name());
+			checkBeforeAndAfterValues(history.get(0),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN));
+			checkBeforeAndAfterValues(history.get(1),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN),
+					StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU));
 		}
 
 		@Test