diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java
index 90d28db00fc2502aa4397ce64077e7769edbcd33..6df32e72ef34ffea7b8eeedf601d29d1527cc7d9 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachService.java
@@ -1,8 +1,7 @@
 /*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+ * Copyright (c) 2024. Das Land Schleswig-Holstein
+ * vertreten durch den Ministerpräsidenten des Landes Schleswig-Holstein
+ * Staatskanzlei Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
  *
  * Lizenziert unter der EUPL, Version 1.2 oder - sobald
  * diese von der Europäischen Kommission genehmigt wurden -
@@ -31,9 +30,6 @@ import java.util.Set;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import jakarta.annotation.PostConstruct;
-import jakarta.validation.Valid;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
@@ -47,6 +43,8 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht.Direction;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht.ReplyOption;
 import de.ozgcloud.nachrichten.postfach.osi.OsiPostfachServerProcessException;
 import de.ozgcloud.vorgang.callcontext.CurrentUserService;
+import jakarta.annotation.PostConstruct;
+import jakarta.validation.Valid;
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 
@@ -55,14 +53,13 @@ import lombok.extern.log4j.Log4j2;
 @Validated
 class PostfachService {
 
+	static final Predicate<PostfachNachricht> IS_MUK_ANSWER = nachricht -> StringUtils.isEmpty(nachricht.getVorgangId()) && StringUtils.isNotEmpty(
+			nachricht.getReferencedNachricht());
+	static final Set<ReplyOption> REPLY_POSSIBLE_OPTION = EnumSet.of(ReplyOption.POSSIBLE, ReplyOption.MANDATORY);
 	private static final Predicate<PostfachNachricht> IS_FROM_HUMAN_USER = nachricht -> !StringUtils.startsWith(nachricht.getCreatedBy(), "system");
 	private static final Set<String> POSTFACH_TYPES_WITH_ANTRAGSRAUM = Set.of("BayernId");
-
 	@Autowired(required = false)
 	private PostfachRemoteService postfachRemoteService;
-
-	static final Set<ReplyOption> REPLY_POSSIBLE_OPTION = EnumSet.of(ReplyOption.POSSIBLE, ReplyOption.MANDATORY);
-
 	@Autowired
 	private PostfachNachrichtMapper mapper;
 
@@ -127,11 +124,20 @@ class PostfachService {
 	}
 
 	private void persistReceivedMail(PostfachNachricht nachricht) {
+		if (IS_MUK_ANSWER.test(nachricht)) {
+			nachricht = linkToVorgang(nachricht);
+		}
+
 		persistMail(Optional.empty(), nachricht);
 
 		postfachRemoteService.deleteMessage(nachricht.getMessageId());
 	}
 
+	PostfachNachricht linkToVorgang(PostfachNachricht nachricht) {
+		var persistedNachricht = mapper.fromMapToPostfachMail(persistingService.getById(nachricht.getReferencedNachricht()));
+		return nachricht.toBuilder().vorgangId(persistedNachricht.getVorgangId()).build();
+	}
+
 	void persistMail(Optional<String> userId, PostfachNachricht mail) {
 		persistingService.persistNachricht(userId, mail);
 
@@ -246,5 +252,4 @@ class PostfachService {
 		}
 		block.run();
 	}
-
 }
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java
index ac8d6773fd1e363c8d9552a3307ea4a11c3c613d..5b5f2a99fe19a2b6f47e676012cfe59d6f2051dc 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachServiceTest.java
@@ -1,8 +1,7 @@
 /*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+ * Copyright (c) 2024. Das Land Schleswig-Holstein
+ * vertreten durch den Ministerpräsidenten des Landes Schleswig-Holstein
+ * Staatskanzlei Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
  *
  * Lizenziert unter der EUPL, Version 1.2 oder - sobald
  * diese von der Europäischen Kommission genehmigt wurden -
@@ -23,6 +22,7 @@
  */
 package de.ozgcloud.nachrichten.postfach;
 
+import static de.ozgcloud.nachrichten.postfach.osi.MessageTestFactory.*;
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
@@ -34,6 +34,7 @@ import java.util.UUID;
 import java.util.stream.Stream;
 
 import org.apache.logging.log4j.Logger;
+import org.bson.types.ObjectId;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -65,24 +66,23 @@ import nl.altindag.log.LogCaptor;
 
 class PostfachServiceTest {
 
+	static final String COMMAND_ID = UUID.randomUUID().toString();
+	static final String USER_ID = UUID.randomUUID().toString();
 	@Spy
 	@InjectMocks
 	private PostfachService service;
 	@Mock
 	private PostfachRemoteService postfachRemoteService;
-
 	@Mock
 	private PersistPostfachNachrichtService persistingService;
 	@Spy
 	private PostfachNachrichtMapper mapper = Mappers.getMapper(PostfachNachrichtMapper.class);
-
 	@Mock
 	private ClientAttributeService clientAttributeService;
 	@Mock
 	private MessageAttachmentService messageAttachmentService;
 	@Mock
 	private ApplicationEventPublisher publisher;
-
 	@Mock
 	private CurrentUserService userService;
 	@Spy
@@ -90,9 +90,6 @@ class PostfachServiceTest {
 	@Spy
 	private Optional<InfoManagerService> infomanagerService = Optional.of(mock(InfoManagerService.class));
 
-	static final String COMMAND_ID = UUID.randomUUID().toString();
-	static final String USER_ID = UUID.randomUUID().toString();
-
 	@Nested
 	class TestSaveDraft {
 
@@ -313,6 +310,10 @@ class PostfachServiceTest {
 				@Mock
 				private PostfachNachricht mail;
 
+				private Optional<PostfachNachricht> adjustMail() {
+					return service.adjustMail(mail);
+				}
+
 				@Nested
 				class TestReplaceBody {
 
@@ -336,10 +337,6 @@ class PostfachServiceTest {
 						assertThat(result).isPresent().get().extracting(PostfachNachricht::getMailBody).isEqualTo(expectedMailBody);
 					}
 				}
-
-				private Optional<PostfachNachricht> adjustMail() {
-					return service.adjustMail(mail);
-				}
 			}
 
 		}
@@ -715,7 +712,7 @@ class PostfachServiceTest {
 	@Nested
 	class TestGetPostfachs {
 
-		private Postfach postfach = PostfachTestFactory.create();
+		private final Postfach postfach = PostfachTestFactory.create();
 
 		@Test
 		void shouldCallBuildPostfach() {
@@ -798,4 +795,48 @@ class PostfachServiceTest {
 			}
 		}
 	}
+
+	@Nested
+	class TestSavingMukAnswer {
+		private final String refId = ObjectId.get().toHexString();
+		private PostfachNachricht answer = PostfachNachrichtTestFactory.createBuilder().vorgangId(null).referencedNachricht(refId).build();
+
+		@Test
+		void shouldIdentifyAsAnswer() {
+			var isMukAnswer = PostfachService.IS_MUK_ANSWER.test(answer);
+
+			assertThat(isMukAnswer).isTrue();
+		}
+
+		@Test
+		void shouldNotIdentifyAsAnswer() {
+			var isMukAnswer = PostfachService.IS_MUK_ANSWER.test(PostfachNachrichtTestFactory.create());
+
+			assertThat(isMukAnswer).isFalse();
+		}
+
+		@Nested
+		class TestLinkingMukAnswerToVorgang {
+
+			@Test
+			void shouldLoadPersistedNachricht() {
+				when(service.isPostfachConfigured()).thenReturn(Boolean.TRUE);
+				when(postfachRemoteService.getAllMessages()).thenReturn(Stream.of(answer));
+				when(persistingService.getById(anyString())).thenReturn(PostfachNachrichtTestFactory.asMap());
+
+				service.fetchAndPersistReplies();
+
+				verify(persistingService).getById(any());
+			}
+
+			@Test
+			void shouldSetVorgangId() {
+				when(persistingService.getById(anyString())).thenReturn(PostfachNachrichtTestFactory.asMap());
+
+				var linkedNachricht = service.linkToVorgang(answer);
+
+				assertThat(linkedNachricht.getVorgangId()).isEqualTo(VORGANG_ID);
+			}
+		}
+	}
 }
\ No newline at end of file