diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java index 51398b627..28b06b396 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java @@ -259,7 +259,7 @@ public final class TracingChannelInterceptor extends ChannelInterceptorAdapter : new MessageHeaders(headers.getMessageHeaders()), errorMessage.getOriginalMessage()); } - headers.copyHeaders(additionalHeaders.getMessageHeaders()); + headers.copyHeaders(new MessageHeaders(additionalHeaders.getMessageHeaders())); return new GenericMessage<>(retrievedMessage.getPayload(), isWebSockets(headers) ? headers.getMessageHeaders() : new MessageHeaders(headers.getMessageHeaders()));