diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java
index 19d35efce455bf42a5329463b4893b13a51aaed2..5d9faa593aa0a61b19dee676ab2a233106e010f3 100644
--- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java
+++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/SemantikFormDataMapper.java
@@ -31,6 +31,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.w3c.dom.Document;
@@ -99,11 +100,13 @@ class SemantikFormDataMapper {
 	}
 
 	private byte[] getXmlFormData(DepositData depositData) {
+		var primaryId = depositData.getPrimaryDataAttachmentId();
+
 		return depositData.getAttachments().stream()
-				.filter(attachment -> attachment.getName().endsWith(CONTENT_FORMDATA_FILENAME_SUFFIX))
+				.filter(attachment -> StringUtils.equals(attachment.getId(), primaryId))
 				.map(Attachment::getContent)
 				.findFirst()
-				.orElseThrow(() -> new RuntimeException("Request does not contain a file ending with " + CONTENT_FORMDATA_FILENAME_SUFFIX));
+				.orElseThrow(() -> new RuntimeException("Request does not contain primary data attachment"));
 	}
 
 	private void addFiles(Document document, List<IncomingFile> depositRequestFiles, Map<String, Object> formDataMap) {
diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositTestFactory.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositTestFactory.java
index 49c38a83bab24294079f8e37f2b548a3cb9f1ca9..174569a3e12d247dd7dc3ac4d9e9ca609298f858 100644
--- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositTestFactory.java
+++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/DepositTestFactory.java
@@ -47,6 +47,7 @@ public class DepositTestFactory {
 
 	static Deposit withData(DepositData data) {
 		Deposit deposit = new Deposit();
+		data.setPrimaryDataAttachmentId(AttachmentTestFactory.XML_ID);
 		deposit.setData(data);
 
 		return deposit;