diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java
index 27440d18d53c6dcda34512d1ddbfdfab8f433a86..3e0ed8c3336fe365c2f8779cf1d6ecf98d37719f 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapper.java
@@ -40,8 +40,6 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
 	static final String HAUSANSCHRIFT_ORT_FIELD = "zust_ort";
 	static final String TELEFON_FIELD = "telefon";
 
-	static final String FAILURE_MESSAGE = "Failed mapping Zustaendigestelle of Mantelantrag";
-
 	private final Environment environment;
 	private Set<String> xtaIdentifiers;
 
@@ -69,11 +67,15 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
 		try {
 			return adaptFormDataWithPossibleException(formData);
 		} catch (TechnicalException exception) {
-			logWarning("%s: %s".formatted(FAILURE_MESSAGE, exception.getMessage()));
+			logWarningForFailure(exception);
 			return formData;
 		}
 	}
 
+	void logWarningForFailure(Exception exception) {
+		LOG.warn("Failed mapping Zustaendigestelle of Mantelantrag: %s".formatted(exception.getMessage()));
+	}
+
 	FormData adaptFormDataWithPossibleException(FormData formData) {
 		var fieldMap = formData.getFormData();
 		var slotIndex = findSlotIndex(fieldMap);
@@ -115,18 +117,22 @@ public class MantelantragZustaendigeStelleMapper implements FormBasedMapper {
 
 	private void verifyOneMatchingIdentifier(List<Integer> matchingSlots) {
 		if (matchingSlots.size() != 1) {
-			var message = "Found %d matching nachrichtenbroker addresses! Expected one of '%s'."
-					.formatted(matchingSlots.size(), Strings.join(xtaIdentifiers, ','));
+			var message = getMultipleSlotsMessage(matchingSlots);
 			if (matchingSlots.isEmpty()) {
 				throw new TechnicalException(message);
 			} else {
-				logWarning("Unexpected Zustaendigestelle in Mantelantrag: %s".formatted(message));
+				logWarningForUnexpected(message);
 			}
 		}
 	}
 
-	void logWarning(String message) {
-		LOG.warn(message);
+	void logWarningForUnexpected(String message) {
+		LOG.warn("Unexpected Zustaendigestelle in Mantelantrag: %s".formatted(message));
+	}
+
+	String getMultipleSlotsMessage(List<Integer> matchingSlots) {
+		return "Found %d matching nachrichtenbroker addresses! Expected one of '%s'.".formatted(matchingSlots.size(),
+				Strings.join(xtaIdentifiers, ','));
 	}
 
 	private List<Integer> getMatchingSlots(Map<String, Object> fieldMap) {
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapperTest.java
index 0562249bab85de7991940357772246cf1c4fcc9f..2cad108d2ae30f76782b0c9ddfdd934becb9be37 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapperTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragZustaendigeStelleMapperTest.java
@@ -18,6 +18,8 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.jupiter.params.provider.ValueSource;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
@@ -137,13 +139,12 @@ class MantelantragZustaendigeStelleMapperTest {
 		@DisplayName("should log warning with exception")
 		@Test
 		void shouldLogWarningWithException() {
-			var errorMessage = "some error";
-			doThrow(new TechnicalException(errorMessage)).when(mapper).adaptFormDataWithPossibleException(formData);
-			doNothing().when(mapper).logWarning(anyString());
+			var exception = new TechnicalException("some error");
+			doThrow(exception).when(mapper).adaptFormDataWithPossibleException(formData);
 
 			mapper.parseFormData(formData);
 
-			verify(mapper).logWarning("%s: %s".formatted(FAILURE_MESSAGE, errorMessage));
+			verify(mapper).logWarningForFailure(exception);
 		}
 	}
 
@@ -292,6 +293,9 @@ class MantelantragZustaendigeStelleMapperTest {
 
 		private Map<String, Object> fieldMap;
 
+		@Captor
+		private ArgumentCaptor<String> warningCaptor;
+
 		@BeforeEach
 		void mock() {
 			fieldMap = new HashMap<>(Map.of(
@@ -324,15 +328,14 @@ class MantelantragZustaendigeStelleMapperTest {
 
 		@DisplayName("should log warning if multiple slots match")
 		@Test
-		void shouldThrowIfMultipleSlotsMatch() {
+		void shouldLogWarningIfMultipleSlotsMatch() {
 			fieldMap.put(getZustaendigeStelleName(0), IDENTIFIER2);
 			fieldMap.put(getZustaendigeStelleName(2), IDENTIFIER);
-			doNothing().when(mapper).logWarning(anyString());
 
 			mapper.findSlotIndex(fieldMap);
 
-			verify(mapper).logWarning(anyString());
-
+			verify(mapper).logWarningForUnexpected(warningCaptor.capture());
+			assertThat(warningCaptor.getValue()).isEqualTo(mapper.getMultipleSlotsMessage(List.of(0, 2)));
 		}
 	}