diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
index 435ea593ad3e03e7b0e3eda4d2e11a6c00caf411..cf0c0bc44e15d973e457666aeeb5ac3332943a1a 100644
--- a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
+++ b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
@@ -92,7 +92,7 @@ class XtaClientITCase {
 			var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
 					.messageLabel("dfoerdermittel")
 					.reader(READER_CLIENT_IDENTIFIER1)
-					.author(READER_CLIENT_IDENTIFIER1)
+					.author(AUTHOR_CLIENT_IDENTIFIER)
 					.build();
 			message = XtaMessageExampleLoader.load(messageConfig);
 			messageId = XtaServerSetupExtensionTestUtil.sendTestMessage(client, message);
@@ -121,12 +121,15 @@ class XtaClientITCase {
 			assertThat(messageContent).isEqualTo(resultContent);
 		}
 
-		@DisplayName("should throw invalid message id exception for a closed message")
+		@DisplayName("should not show message id for a closed message in status list")
 		@Test
-		void shouldThrowInvalidMessageIdExceptionForClosedMessage() {
+		@SneakyThrows
+		void shouldNotShowMessageIdForClosedMessageInStatusList() {
 			assertThatNoException().isThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId));
-			assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId))
-					.isInstanceOf(InvalidMessageIDException.class);
+			var metadataResult = client.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
+			if (!metadataResult.messages().isEmpty()) {
+				assertThat(metadataResult.messages()).allMatch(metadata -> !messageId.equals(metadata.messageId()));
+			}
 		}
 
 		@DisplayName("should throw invalid message id exception for modified message id")
@@ -142,11 +145,6 @@ class XtaClientITCase {
 			assertThatThrownBy(() -> client.getMessage(READER_CLIENT_IDENTIFIER2.value(), messageId))
 					.isInstanceOf(InvalidMessageIDException.class);
 		}
-
-		@SneakyThrows
-		private byte[] extractMessageFileContent(XtaMessage xtaMessage) {
-			return xtaMessage.messageFile().content().getInputStream().readAllBytes();
-		}
 	}
 
 	@DisplayName("send message")
diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java
index e6dadc2b2f0b7008900ff612b98b768b53e7a5a3..42f008a07a14ec9c27d72fd802907dcead5db1af 100644
--- a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java
+++ b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java
@@ -3,6 +3,7 @@ package de.ozgcloud.xta.client;
 import static de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil.*;
 import static org.assertj.core.api.Assertions.*;
 
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -99,11 +100,18 @@ class XtaClientRemoteITCase {
 	class TestGetMessage {
 
 		private String messageId;
+		private XtaMessage message;
 
 		@BeforeEach
 		@SneakyThrows
 		void setup() {
-			messageId = XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage();
+			var messageConfig = XtaMessageExampleLoader.MessageExampleConfig.builder()
+					.messageLabel("dfoerdermittel")
+					.reader(READER_CLIENT_IDENTIFIER1)
+					.author(AUTHOR_CLIENT_IDENTIFIER)
+					.build();
+			message = XtaMessageExampleLoader.load(messageConfig);
+			messageId = XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage(message);
 		}
 
 		@DisplayName("should return message with green status")
@@ -117,6 +125,29 @@ class XtaClientRemoteITCase {
 			assertThat(result.transportReport().status()).isEqualTo(XtaMessageStatus.GREEN);
 		}
 
+		@DisplayName("should return message with correct message file content")
+		@Test
+		@SneakyThrows
+		void shouldReturnMessageWithCorrectMessageFileContent() {
+			var messageContent = extractMessageFileContent(message);
+
+			var result = readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId);
+			var resultContent = extractMessageFileContent(result.message());
+
+			assertThat(messageContent).isEqualTo(resultContent);
+		}
+
+		@DisplayName("should not show message id for a closed message in status list")
+		@Test
+		@SneakyThrows
+		void shouldNotShowMessageIdForClosedMessageInStatusList() {
+			assertThatNoException().isThrownBy(() -> readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId));
+			var metadataResult = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
+			if (!metadataResult.messages().isEmpty()) {
+				assertThat(metadataResult.messages()).allMatch(metadata -> !messageId.equals(metadata.messageId()));
+			}
+		}
+
 		@DisplayName("should throw invalid message id exception for modified message id")
 		@Test
 		void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() {
@@ -137,7 +168,13 @@ class XtaClientRemoteITCase {
 	@Nested
 	class TestSendMessage {
 
-		@DisplayName("should return with open status")
+		@AfterEach
+		@SneakyThrows
+		void afterEach() {
+			closeAllMessages(readerClient, READER_CLIENT_IDENTIFIER1);
+		}
+
+		@DisplayName("should return transport report with open status")
 		@SneakyThrows
 		@ParameterizedTest
 		@ValueSource(strings = { "dfoerdermittel", "abgabe0401-kleiner-waffenschein" })
diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaRemoteServerSetupExtension.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaRemoteServerSetupExtension.java
index d61b062993a157df79e806761e3c30265f93cd68..d59023bc848ab56920d9a2eed43d36f6a3b3d893 100644
--- a/src/test/java/de/ozgcloud/xta/client/extension/XtaRemoteServerSetupExtension.java
+++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaRemoteServerSetupExtension.java
@@ -15,6 +15,8 @@ import de.ozgcloud.xta.client.XtaClient;
 import de.ozgcloud.xta.client.XtaClientFactory;
 import de.ozgcloud.xta.client.config.XtaClientConfig;
 import de.ozgcloud.xta.client.core.WrappedXtaService;
+import de.ozgcloud.xta.client.model.XtaMessage;
+
 import lombok.Getter;
 import lombok.Setter;
 import lombok.SneakyThrows;
@@ -76,6 +78,11 @@ public class XtaRemoteServerSetupExtension implements BeforeAllCallback, BeforeE
 				.build());
 	}
 
+	@SneakyThrows
+	public String sendTestMessage(XtaMessage message) {
+		return XtaServerSetupExtensionTestUtil.sendTestMessage(authorClient, message);
+	}
+
 	@SneakyThrows
 	private static byte[] readBytesFromFile(String path) {
 		return Files.toByteArray(new File(path));
diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
index 84bd9f0b33a69c5dfebb68db7a1c1187e955c5bd..45888f62bca53e16bcd8d6c2f29ab48c405d6144 100644
--- a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
+++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
@@ -88,4 +88,9 @@ public class XtaServerSetupExtensionTestUtil {
 		}
 	}
 
+	@SneakyThrows
+	public static byte[] extractMessageFileContent(XtaMessage xtaMessage) {
+		return xtaMessage.messageFile().content().getInputStream().readAllBytes();
+	}
+
 }
diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaTestServerSetupExtension.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaTestServerSetupExtension.java
index 18ce8e5beedaaf230c40d244481670e7bece4c22..c66e62a9a48f220288bddc86a476daa4ebf34991 100644
--- a/src/test/java/de/ozgcloud/xta/client/extension/XtaTestServerSetupExtension.java
+++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaTestServerSetupExtension.java
@@ -25,7 +25,7 @@ import lombok.extern.slf4j.Slf4j;
 public class XtaTestServerSetupExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback {
 
 	private static final DockerImageName XTA_TEST_SERVER_IMAGE = DockerImageName.parse("docker.ozg-sh.de/xta-test-server")
-			.withTag("1.4.1-SNAPSHOT");
+			.withTag("latest");
 
 	private static final String JOHN_SMITH_KEYSTORE_PATH = "store/john-smith-client-cert-keystore.p12";
 	private static final String JOHN_SMITH_KEYSTORE_PASSWORD = "password";