diff --git a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapper.java b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapper.java
index 9f6c502216aa3734f64d0039d2f5a128a2cd7869..d88c4a1f26d78c819dd373d5651120cc7647eb20 100644
--- a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapper.java
+++ b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapper.java
@@ -34,7 +34,6 @@ import de.ozgcloud.antragsraum.proxy.AntragraumproxyGrpcRueckfrageAnswer;
 @Mapper
 interface AntragraumProxyMapper {
 
-	@Mapping(target = "rueckfrageId", source = "id")
 	@Mapping(target = "answerText", source = "message")
 	@Mapping(target = "attachmentFileId", expression = "java(mapAttachments(nachricht))")
 	AntragraumproxyGrpcRueckfrageAnswer toRestProxyAntwort(ReplyNachricht nachricht);
@@ -43,7 +42,7 @@ interface AntragraumProxyMapper {
 		if (Objects.isNull(nachricht.attachments())) {
 			return List.of();
 		}
-		
+
 		return nachricht.attachments().stream().map(OzgFile::id).toList();
 	}
 }
diff --git a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java
index 660c438c4d9cfbbb5bf95b79bcbe24e695bcfd76..f2fec2a82099a67d9fa676afdb548798b57908d4 100644
--- a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java
+++ b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapper.java
@@ -103,7 +103,8 @@ class NachrichtMapper {
 		return rueckfrage.getAnswers().stream()
 		  .map(answer -> {
 			  var builder = ReplyNachricht.builder()
-				.id(rueckfrage.getId())
+				.id(answer.getRueckfrageId())
+				.rueckfrageId(rueckfrage.getId())
 				.nachrichtEventId(id)
 				.message(answer.getAnswerText())
 				.attachments(getAttachments(answer.getAttachmentFileId(), answer.getRueckfrageId(), id));
@@ -113,7 +114,7 @@ class NachrichtMapper {
 
 	public AntragraumproxyGrpcRueckfrageAnswer toRestRueckfrageAnswer(final ReplyNachricht nachricht) {
 		var antwort = new AntragraumproxyGrpcRueckfrageAnswer();
-		antwort.setRueckfrageId(nachricht.id());
+		antwort.setRueckfrageId(nachricht.rueckfrageId());
 		antwort.setAnswerText(nachricht.message());
 
 		if (Objects.nonNull(nachricht.attachments())) {
diff --git a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java
index 6c712bb36bcb222275c89a2e163f74c33d404966..071cc1ad752021b551f7844c3dd1952f66a12b73 100644
--- a/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java
+++ b/server/src/main/java/de/ozgcloud/antragsraum/nachricht/ReplyNachricht.java
@@ -34,6 +34,22 @@ import lombok.Builder;
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @Builder(toBuilder = true)
 record ReplyNachricht(
+  @Size(max = 24, message = "An id is too long")
+  @Schema(description = "The id of the Antwort",
+	name = "id",
+	type = "string",
+	example = "66af924b4f1a2560298b45ab"
+  )
+  @NotEmpty
+  String id,
+  @Size(max = 24, message = "An id is too long")
+  @Schema(description = "The id of the Rückfrage",
+	name = "id",
+	type = "string",
+	example = "66af924b4f1a2560298b45ab"
+  )
+  @NotEmpty
+  String rueckfrageId,
   @Size(max = 36, message = "An id is too long")
   @Schema(description = "The id of the postfach",
 	name = "postfachId",
@@ -48,14 +64,6 @@ record ReplyNachricht(
 	example = "60af924b4f1a2560298b4567"
   )
   String nachrichtEventId,
-  @Size(max = 24, message = "An id is too long")
-  @Schema(description = "The id of the Rückfrage",
-	name = "id",
-	type = "string",
-	example = "66af924b4f1a2560298b45ab"
-  )
-  @NotEmpty
-  String id,
   @Schema(description = "The answer to the rueckfrage.",
 	name = "message",
 	type = "string",
@@ -73,6 +81,7 @@ record ReplyNachricht(
 		  "postfachId='" + postfachId + '\'' +
 		  ", nachrichtEventId='" + nachrichtEventId + '\'' +
 		  ", id='" + id + '\'' +
+		  ", rueckfrageId='" + rueckfrageId + '\'' +
 		  ", attachments=" + attachments +
 		  ", message=<...masked for privacy..>" +
 		  '}';
diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapperTest.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapperTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..66cad5b1ef50dceb4e8677734614761e580d057e
--- /dev/null
+++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumProxyMapperTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2023-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 -
+ * Folgeversionen der EUPL ("Lizenz");
+ * Sie dürfen dieses Werk ausschließlich gemäß
+ * dieser Lizenz nutzen.
+ * Eine Kopie der Lizenz finden Sie hier:
+ *
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Sofern nicht durch anwendbare Rechtsvorschriften
+ * gefordert oder in schriftlicher Form vereinbart, wird
+ * die unter der Lizenz verbreitete Software "so wie sie
+ * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+ * ausdrücklich oder stillschweigend - verbreitet.
+ * Die sprachspezifischen Genehmigungen und Beschränkungen
+ * unter der Lizenz sind dem Lizenztext zu entnehmen.
+ */
+
+package de.ozgcloud.antragsraum.nachricht;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.Collections;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mapstruct.factory.Mappers;
+
+class AntragraumProxyMapperTest {
+
+	private final AntragraumProxyMapper mapper = Mappers.getMapper(AntragraumProxyMapper.class);
+
+	@Nested
+	class TestToRestProxyAntwort {
+		private final ReplyNachricht replyNachricht = ReplyNachrichtTestFactory.create();
+
+		@Test
+		void shouldHaveRueckfrageId() {
+			var grpcRueckfrageAnswer = mapper.toRestProxyAntwort(replyNachricht);
+
+			assertThat(grpcRueckfrageAnswer.getRueckfrageId()).isEqualTo(ReplyNachrichtTestFactory.RUECKFRAGE_ID);
+		}
+
+		@Test
+		void shouldHaveAnswerText() {
+			var grpcRueckfrageAnswer = mapper.toRestProxyAntwort(replyNachricht);
+
+			assertThat(grpcRueckfrageAnswer.getAnswerText()).isEqualTo(ReplyNachrichtTestFactory.TEXT);
+		}
+
+		@Test
+		void shouldHaveAttachmentFileId() {
+			var grpcRueckfrageAnswer = mapper.toRestProxyAntwort(replyNachricht);
+
+			assertThat(grpcRueckfrageAnswer.getAttachmentFileId()).isEqualTo(Collections.emptyList());
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java
index 5f7963f0b92298f4b51ba49f1b849d1543a4ab25..7d85279f39764541af9e381c0d3447f844840277 100644
--- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java
+++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/AntragraumproxyGrpcRueckfrageTestFactory.java
@@ -40,6 +40,7 @@ public class AntragraumproxyGrpcRueckfrageTestFactory {
 	public static final String VORGANG_ID = UUID.randomUUID().toString();
 	public static final String VORGANG_NAME = NachrichtTestFactory.VORGANG_TITLE;
 	public static final String ANSWER_FILE_ID = UUID.randomUUID().toString();
+	public static final String ANSWER_ID = UUID.randomUUID().toString();
 	public static final String TEXT = """
 	  Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
 	   sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
@@ -91,6 +92,7 @@ public class AntragraumproxyGrpcRueckfrageTestFactory {
 
 	static AntragraumproxyGrpcRueckfrageAnswer createRueckfrageAnswer() {
 		var antwort = new AntragraumproxyGrpcRueckfrageAnswer();
+		antwort.setRueckfrageId(ANSWER_ID);
 		antwort.setAnswerText(ANSWER_TEXT);
 		antwort.setSentAt(SEND_AT);
 		antwort.setAttachmentFileId(List.of(ANSWER_FILE_ID));
diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java
index 6b8a2aa6499b97fbf63eec72a15540f5dde22739..8b70b50ce731fb640bbb99052b63ebfeb34e5808 100644
--- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java
+++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtMapperTest.java
@@ -179,6 +179,20 @@ class NachrichtMapperTest {
 			assertThat(nachricht.replyNachrichten()).isEmpty();
 		}
 
+		@Test
+		void shouldMapAnswerNachrichtId() {
+			var nachricht = mapper.fromRestRueckfrage(answeredRueckfrage, NachrichtTestFactory.NACHRICHT_EVENT_ID);
+
+			assertThat(nachricht.replyNachrichten().getFirst().id()).isEqualTo(AntragraumproxyGrpcRueckfrageTestFactory.ANSWER_ID);
+		}
+
+		@Test
+		void shouldMapAnswerRueckfrageId() {
+			var nachricht = mapper.fromRestRueckfrage(answeredRueckfrage, NachrichtTestFactory.NACHRICHT_EVENT_ID);
+
+			assertThat(nachricht.replyNachrichten().getFirst().rueckfrageId()).isEqualTo(AntragraumproxyGrpcRueckfrageTestFactory.RUECKFRAGE_ID);
+		}
+
 		@Test
 		void shouldMapAnswerNachrichtText() {
 			var nachricht = mapper.fromRestRueckfrage(answeredRueckfrage, NachrichtTestFactory.NACHRICHT_EVENT_ID);
diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtenControllerITCase.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtenControllerITCase.java
index c50db1e212f58992e3f1ebed9230a78279349a92..e56cb39db2d08a57d4fca5adb36323daef352f8a 100644
--- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtenControllerITCase.java
+++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/NachrichtenControllerITCase.java
@@ -230,16 +230,16 @@ public class NachrichtenControllerITCase {
 		class TestSendingInvalidReply {
 			@Test
 			@WithMockUser
-			void shouldNotSendNachrichtBlankId() throws Exception {
-				var invalidMsg = ReplyNachrichtTestFactory.createBuilder().id("").build();
+			void shouldNotSendNachrichtBlankRueckfrageId() throws Exception {
+				var invalidMsg = ReplyNachrichtTestFactory.createBuilder().rueckfrageId("").build();
 
 				performPutRequest(mapper.writeValueAsString(invalidMsg)).andExpect(status().isBadRequest());
 			}
 
 			@Test
 			@WithMockUser
-			void shouldHandleInvalidId() throws Exception {
-				var invalidMsg = msg.toBuilder().id("id_that_is_too_long_123456789").build();
+			void shouldHandleInvalidRueckfrageId() throws Exception {
+				var invalidMsg = msg.toBuilder().rueckfrageId("id_that_is_too_long_123456789").build();
 
 				performPutRequest(mapper.writeValueAsString(invalidMsg)).andExpect(status().isBadRequest());
 			}
diff --git a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java
index ca44f4f85426e5e143179ad91a164fa8ef4e88aa..e0b0bf7a544a6a045a0a26076cad35a9a9bc65d0 100644
--- a/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java
+++ b/server/src/test/java/de/ozgcloud/antragsraum/nachricht/ReplyNachrichtTestFactory.java
@@ -23,7 +23,8 @@ package de.ozgcloud.antragsraum.nachricht;
 
 public class ReplyNachrichtTestFactory {
 	public static final String ID = "60af924b4f1a2560298b4567";
-	public static final String NACHRICHT_EVENT_ID = "60af924b4f1a2560298b4567";
+	public static final String RUECKFRAGE_ID = "60af924b4f1a2560298b4568";
+	public static final String NACHRICHT_EVENT_ID = "60af924b4f1a2560298b4569";
 	public static final String TEXT = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam";
 
 	static ReplyNachricht create() {
@@ -33,6 +34,7 @@ public class ReplyNachrichtTestFactory {
 	static ReplyNachricht.ReplyNachrichtBuilder createBuilder() {
 		return ReplyNachricht.builder()
 		  .id(ID)
+		  .rueckfrageId(RUECKFRAGE_ID)
 		  .nachrichtEventId(NACHRICHT_EVENT_ID)
 		  .postfachId(NachrichtTestFactory.POSTFACH_ID)
 		  .message(TEXT);