This closes #781
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
index 107df64..baa59f5 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
@@ -266,7 +266,7 @@
             largeMessageSend(sendBlocking, msgI, theCredits, handler);
          }
          else {
-            sendRegularMessage(msgI, sendBlocking, theCredits, handler);
+            sendRegularMessage(sendingAddress, msgI, sendBlocking, theCredits, handler);
          }
       }
       finally {
@@ -274,7 +274,8 @@
       }
    }
 
-   private void sendRegularMessage(final MessageInternal msgI,
+   private void sendRegularMessage(final SimpleString sendingAddress,
+                                   final MessageInternal msgI,
                                    final boolean sendBlocking,
                                    final ClientProducerCredits theCredits,
                                    final SendAcknowledgementHandler handler) throws ActiveMQException {
@@ -290,7 +291,7 @@
 
       theCredits.acquireCredits(creditSize);
 
-      session.checkDefaultAddress(address);
+      session.checkDefaultAddress(sendingAddress);
 
       sessionContext.sendFullMessage(msgI, sendBlocking, handler, address);
    }
@@ -491,7 +492,7 @@
                msgI.putLongProperty(Message.HDR_LARGE_BODY_SIZE, deflaterReader.getTotalSize());
 
                msgI.getBodyBuffer().writeBytes(buff, 0, pos);
-               sendRegularMessage(msgI, sendBlocking, credits, handler);
+               sendRegularMessage(msgI.getAddress(), msgI, sendBlocking, credits, handler);
                return;
             }
             else {