diff --git a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
index a737a5de1e9a38e5ea37e2080fdfbe3e71a21d23..06fa4e393a17a4e575a913c6340e6eaaa35655ca 100644
--- a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
+++ b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java
@@ -269,13 +269,14 @@ public class OutboundClientMessageOneShotJob extends JobImpl {
      *
      */
     private void send() {
+        if (_finished) return;
         long token = getContext().random().nextLong(I2NPMessage.MAX_ID_VALUE);
         PublicKey key = _leaseSet.getEncryptionKey();
         SessionKey sessKey = new SessionKey();
         Set tags = new HashSet();
         LeaseSet replyLeaseSet = null;
         if (_shouldBundle) {
-            replyLeaseSet = getContext().netDb().lookupLeaseSetLocally(_clientMessage.getFromDestination().calculateHash());
+            replyLeaseSet = getContext().netDb().lookupLeaseSetLocally(_from.calculateHash());
         }
         
         GarlicMessage msg = OutboundClientMessageJobHelper.createGarlicMessage(getContext(), token,