diff --git a/src/main/java/org/prebid/server/auction/ExchangeService.java b/src/main/java/org/prebid/server/auction/ExchangeService.java index 1880da83425..111d153a5df 100644 --- a/src/main/java/org/prebid/server/auction/ExchangeService.java +++ b/src/main/java/org/prebid/server/auction/ExchangeService.java @@ -686,11 +686,13 @@ private ObjectNode prepareImpExt(String bidder, ObjectNode impExt, boolean useFi final ObjectNode result = mapper.mapper().valueToTree(ExtPrebid.of(impExtPrebid, impExt.get(bidder))); final JsonNode contextNode = impExt.get(CONTEXT_EXT); - if (contextNode != null && !contextNode.isNull()) { - if (!useFirstPartyData && contextNode.isObject()) { - ((ObjectNode) contextNode).remove(DATA); + final boolean isContextNodePresent = contextNode != null && !contextNode.isNull(); + if (isContextNodePresent) { + final JsonNode contextNodeCopy = contextNode.deepCopy(); + if (!useFirstPartyData && contextNodeCopy.isObject()) { + ((ObjectNode) contextNodeCopy).remove(DATA); } - result.set(CONTEXT_EXT, contextNode); + result.set(CONTEXT_EXT, contextNodeCopy); } return result; }