diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataMapper.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataMapper.java
index f1d47e4de25f507e3897f69927c117a8edd90fd3..0c34564a6ddcfb3f617f2c93fd4895ea275f07db 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataMapper.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataMapper.java
@@ -32,6 +32,7 @@ class FormDataMapper {
 	public Antragsdaten toAntragsdaten(@NotNull VorgangWithEingang vorgang) {
 		return Optional.ofNullable(vorgang.getEingang())
 				.map(Eingang::getFormData)
+				.map(ValueKeysRemover::removeValueKeys)
 				.map(this::buildAntragsdaten)
 				.orElseGet(Antragsdaten::new);
 	}
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/ValueKeysRemover.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/ValueKeysRemover.java
new file mode 100644
index 0000000000000000000000000000000000000000..e12499d41b0db62ab471ae8fb435343e4a82c453
--- /dev/null
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/ValueKeysRemover.java
@@ -0,0 +1,36 @@
+package de.ozgcloud.alfa.vorgang;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+class ValueKeysRemover {
+
+	static final String VALUE_KEY = "value";
+
+	public static Map<String, Object> removeValueKeys(Map<String, Object> formData) {
+		Map<String, Object> result = new HashMap<>();
+		for (var entry : formData.entrySet()) {
+			result.put(entry.getKey(), removeValueKeysFromValue(entry.getValue()));
+		}
+		return result;
+	}
+
+	@SuppressWarnings("unchecked")
+	private static Object removeValueKeysFromValue(Object value) {
+		if (!(value instanceof Map)) {
+			return value;
+		}
+		Map<String, Object> formData = (Map<String, Object>) value;
+		return containsValueKeyAsSingleEntry(formData) ?
+				removeValueKeysFromValue(formData.get(VALUE_KEY)) :
+				removeValueKeys(formData);
+	}
+
+	private static boolean containsValueKeyAsSingleEntry(Map<String, Object> formData) {
+		return formData.containsKey(VALUE_KEY) && formData.size() == 1;
+	}
+}
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataMapperTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataMapperTest.java
index fd5111ad3b4d71b1b3dcdc92de8c5e5bae08ddd0..3c0c2519b83fd379091d789a8cc9044c8c407b5d 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataMapperTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataMapperTest.java
@@ -8,12 +8,14 @@ import java.time.ZonedDateTime;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.MockedStatic;
 import org.mockito.Spy;
 
 import de.ozgcloud.alfa.common.DateConverter;
@@ -42,13 +44,17 @@ class FormDataMapperTest {
 		private VorgangWithEingang vorgang;
 
 		@Test
-		void shouldCallBuildItemType() {
-			doReturn(new Object()).when(formDataMapper).formatValue(any(), any());
-			var vorgang = VorgangWithEingangTestFactory.create();
+		void shouldCallBuildAntragsdaten() {
+			try (MockedStatic<ValueKeysRemover> valueKeysRemover = mockStatic(ValueKeysRemover.class)) {
+				var vorgang = VorgangWithEingangTestFactory.create();
+				Map<String, Object> formDataWithoutValueKeys = Map.of(UUID.randomUUID().toString(), "value1");
+				valueKeysRemover.when(() -> ValueKeysRemover.removeValueKeys(any())).thenReturn(formDataWithoutValueKeys);
+				doReturn(new Object()).when(formDataMapper).formatValue(any(), any());
 
-			formDataMapper.toAntragsdaten(vorgang);
+				formDataMapper.toAntragsdaten(vorgang);
 
-			verify(formDataMapper).buildAntragsdaten(vorgang.getEingang().getFormData());
+				verify(formDataMapper).buildAntragsdaten(formDataWithoutValueKeys);
+			}
 		}
 
 		@Test
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/ValueKeysRemoverTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/ValueKeysRemoverTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8758bc6008c860dcb26d593ad287150508920b7f
--- /dev/null
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/ValueKeysRemoverTest.java
@@ -0,0 +1,54 @@
+package de.ozgcloud.alfa.vorgang;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.Map;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+public class ValueKeysRemoverTest {
+
+	@Nested
+	class TestRemoveValueKeys {
+
+		@Test
+		void shouldPreserveValueKeyWithoutParent() {
+			Map<String, Object> formData = Map.of("value", "Kiel");
+
+			var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(formData);
+		}
+
+		@Test
+		void shouldEliminateValueKeyWithoutSiblings() {
+			Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel"));
+			Map<String, Object> expected = Map.of("ort", "Kiel");
+
+			var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(expected);
+		}
+
+		@Test
+		void shouldPreserveValueKeyIfHasSiblings() {
+			Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel", "value2", "Kiel"));
+
+			var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(formData);
+		}
+
+		@Test
+		void shouldPreserveNonValueKeys() {
+			Map<String, Object> formData = Map.of("empfangendestelle",
+					Map.of("value", Map.of("OrganisationseinheitenAuswahl", Map.of("value", "123456"))));
+			Map<String, Object> expected = Map.of("empfangendestelle", Map.of("OrganisationseinheitenAuswahl", "123456"));
+
+			var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(expected);
+		}
+	}
+}