diff --git a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
index 1e404e70a1f6061c768ed22545449c58e729f8d7..41180bab88ef3c302300bd1e51ca34e3ed89619b 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
@@ -24,13 +24,13 @@
 package de.ozgcloud.document;
 
 import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
+import org.mapstruct.NullValueCheckStrategy;
 
 import de.ozgcloud.bescheid.attacheditem.AttachedItem;
 
-@Mapper
+@Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
 interface DocumentMapper {
 
 	@Mapping(target = "allFields", ignore = true)
@@ -51,8 +51,8 @@ interface DocumentMapper {
 				.id(attachedItem.getId())
 				.type(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_TYPE))
 				.fileId(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_FILE))
-				.nachrichtText(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_TEXT, StringUtils.EMPTY))
-				.nachrichtSubject(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_SUBJECT, StringUtils.EMPTY))
+				.nachrichtText(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_TEXT))
+				.nachrichtSubject(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_SUBJECT))
 				.build();
 	}
 }
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
index 1a180949434fb55257520fce385ac743000e3a3d..9ba02e1e11c796f19fc771e9ed29000f911690cd 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
@@ -25,7 +25,6 @@ package de.ozgcloud.document;
 
 import static org.assertj.core.api.Assertions.*;
 
-import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -48,6 +47,12 @@ class DocumentMapperTest {
 			assertThat(result).usingRecursiveComparison().isEqualTo(GrpcDocumentTestFactory.create());
 		}
 
+		@Test
+		void shouldMapEmptyDocument() {
+			var result = mapper.toGrpcDocument(Document.builder().build());
+
+			assertThat(result).isEqualTo(GrpcDocument.newBuilder().build());
+		}
 	}
 
 	@DisplayName("From attached item")
@@ -55,25 +60,48 @@ class DocumentMapperTest {
 	class TestFromAttachedItem {
 
 		@Test
-		void shouldMapMissingNachrichtSubjectToEmptyString() {
-			var documentItem = AttachedItemTestFactory.createDocumentItem();
-			documentItem.remove(Document.FIELD_NACHRICHT_SUBJECT);
-			var document = AttachedItemTestFactory.createDocumentBuilder().item(documentItem).build();
+		void shouldMapId() {
+			var document = AttachedItemTestFactory.createDocument();
+
+			var result = mapper.fromAttachedItem(document);
+
+			assertThat(result.getId()).isEqualTo(AttachedItemTestFactory.ID);
+		}
+
+		@Test
+		void shouldMapType() {
+			var document = AttachedItemTestFactory.createDocument();
+
+			var result = mapper.fromAttachedItem(document);
+
+			assertThat(result.getType()).isEqualTo(DocumentService.DOCUMENT_TYPE);
+		}
+
+		@Test
+		void shouldMapFileId() {
+			var document = AttachedItemTestFactory.createDocument();
+
+			var result = mapper.fromAttachedItem(document);
+
+			assertThat(result.getFileId()).isEqualTo(DocumentTestFactory.DOCUMENT_FILE);
+		}
+
+		@Test
+		void shouldMapNachrichtText() {
+			var document = AttachedItemTestFactory.createDocument();
 
 			var result = mapper.fromAttachedItem(document);
 
-			assertThat(result.getNachrichtSubject()).isEqualTo(StringUtils.EMPTY);
+			assertThat(result.getNachrichtText()).isEqualTo(DocumentTestFactory.NACHRICHT_TEXT);
 		}
 
 		@Test
-		void shouldMapMissingNachrichtTextToEmptyString() {
-			var documentItem = AttachedItemTestFactory.createDocumentItem();
-			documentItem.remove(Document.FIELD_NACHRICHT_TEXT);
-			var document = AttachedItemTestFactory.createDocumentBuilder().item(documentItem).build();
+		void shouldMapNachrichtSubject() {
+			var document = AttachedItemTestFactory.createDocument();
 
 			var result = mapper.fromAttachedItem(document);
 
-			assertThat(result.getNachrichtText()).isEqualTo(StringUtils.EMPTY);
+			assertThat(result.getNachrichtSubject()).isEqualTo(DocumentTestFactory.NACHRICHT_SUBJECT);
 		}
 	}
 }
\ No newline at end of file