diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjuster.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjuster.java
new file mode 100644
index 0000000000000000000000000000000000000000..82c3c1524f283c4a02581b9520d2819d90bda4d3
--- /dev/null
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjuster.java
@@ -0,0 +1,40 @@
+package de.ozgcloud.alfa.vorgang;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+class FormDataExportAdjuster {
+
+	static final String VALUE_KEY = "value";
+
+	public static Map<String, Object> adjustFormDataForExport(Map<String, Object> formData) {
+		return replaceValueKeys(formData);
+	}
+
+	static Map<String, Object> replaceValueKeys(Map<String, Object> formData) {
+		Map<String, Object> result = new HashMap<>();
+		for (var entry : formData.entrySet()) {
+			result.put(entry.getKey(), replaceValueKeysInValue(entry.getValue()));
+		}
+		return result;
+	}
+
+	@SuppressWarnings("unchecked")
+	private static Object replaceValueKeysInValue(Object value) {
+		if (!(value instanceof Map)) {
+			return value;
+		}
+		Map<String, Object> formData = (Map<String, Object>) value;
+		return containsValueKeyOnly(formData) ?
+				replaceValueKeysInValue(formData.get(VALUE_KEY)) :
+				replaceValueKeys(formData);
+	}
+
+	private static boolean containsValueKeyOnly(Map<String, Object> formData) {
+		return formData.containsKey(VALUE_KEY) && formData.size() == 1;
+	}
+}
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..8ab2e778ed10968019b8c1dc67d9a9f0586692c8 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(FormDataExportAdjuster::adjustFormDataForExport)
 				.map(this::buildAntragsdaten)
 				.orElseGet(Antragsdaten::new);
 	}
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjusterTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjusterTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..4dd12aab91f9e6e84ca5622c1a34a67ea827a6e1
--- /dev/null
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/vorgang/FormDataExportAdjusterTest.java
@@ -0,0 +1,73 @@
+package de.ozgcloud.alfa.vorgang;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+import java.util.Map;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.MockedStatic;
+
+public class FormDataExportAdjusterTest {
+
+	@Nested
+	class TestAdjustFormDataForExport {
+
+		private final Map<String, Object> formData = Map.of("key", "value");
+
+		@Test
+		void shouldCallReplaceValueKeys() {
+			try (MockedStatic<FormDataExportAdjuster> adjusterMock = mockStatic(FormDataExportAdjuster.class)) {
+				adjusterMock.when(() -> FormDataExportAdjuster.adjustFormDataForExport(any())).thenCallRealMethod();
+
+				FormDataExportAdjuster.adjustFormDataForExport(formData);
+
+				adjusterMock.verify(() -> FormDataExportAdjuster.replaceValueKeys(formData));
+			}
+		}
+	}
+
+	@Nested
+	class TestReplaceValueKeys {
+
+		@Test
+		void shouldPreserveValueKeyWithoutParent() {
+			Map<String, Object> formData = Map.of("value", "Kiel");
+
+			var formDataWithoutValueKeys = FormDataExportAdjuster.replaceValueKeys(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 = FormDataExportAdjuster.replaceValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(expected);
+		}
+
+		@Test
+		void shouldPreserveValueKeyIfHasSiblings() {
+			Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel", "value2", "Kiel"));
+
+			var formDataWithoutValueKeys = FormDataExportAdjuster.replaceValueKeys(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 = FormDataExportAdjuster.replaceValueKeys(formData);
+
+			assertThat(formDataWithoutValueKeys).isEqualTo(expected);
+		}
+	}
+}
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..43cd844e02dc23f896233c235ff48fca4e6b00d0 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<FormDataExportAdjuster> valueKeysRemover = mockStatic(FormDataExportAdjuster.class)) {
+				var vorgang = VorgangWithEingangTestFactory.create();
+				Map<String, Object> formDataWithoutValueKeys = Map.of(UUID.randomUUID().toString(), "value1");
+				valueKeysRemover.when(() -> FormDataExportAdjuster.adjustFormDataForExport(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