diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
index 53a9aee8e167b9871d3885724ccf904a12a824da..cf0c0bc44e15d973e457666aeeb5ac3332943a1a 100644
--- a/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
+++ b/src/test/java/de/ozgcloud/xta/client/XtaClientITCase.java
@@ -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")
diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java b/src/test/java/de/ozgcloud/xta/client/XtaClientRemoteITCase.java
index 7c023523b214d06bfb4cb1be00c9b052816e46da..ed36f8cb0acd70a8c001a92f588e6db4ec4c75de 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;
@@ -136,12 +137,15 @@ class XtaClientRemoteITCase {
 			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(() -> readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId));
-			assertThatThrownBy(() -> readerClient.getMessage(READER_CLIENT_IDENTIFIER1.value(), messageId))
-					.isInstanceOf(InvalidMessageIDException.class);
+			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")
@@ -164,6 +168,12 @@ class XtaClientRemoteITCase {
 	@Nested
 	class TestSendMessage {
 
+		@AfterEach
+		@SneakyThrows
+		void afterEach() {
+			closeAllMessages(readerClient, READER_CLIENT_IDENTIFIER1);
+		}
+
 		@DisplayName("should return transport report with open status")
 		@SneakyThrows
 		@ParameterizedTest