diff --git a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java index 90164b9740e..4b9834ca6d6 100644 --- a/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java +++ b/core/src/main/java/bisq/core/trade/protocol/TradeProtocol.java @@ -198,7 +198,9 @@ private void sendAckMessage(@Nullable TradeMessage tradeMessage, boolean result, tradeId, result, errorMessage); - final NodeAddress peersNodeAddress = trade.getTradingPeerNodeAddress(); + // If there was an error during offer verification, the tradingPeerNodeAddress of the trade might not be set yet. + // We can find the peer's node address in the processModel's tempTradingPeerNodeAddress in that case. + final NodeAddress peersNodeAddress = trade.hasTradingPeerNodeAddress() ? trade.getTradingPeerNodeAddress() : processModel.getTempTradingPeerNodeAddress(); log.info("Send AckMessage for {} to peer {}. tradeId={}, sourceUid={}", ackMessage.getSourceMsgClassName(), peersNodeAddress, tradeId, sourceUid); String finalSourceUid = sourceUid;