diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5266Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5266Test.java
index efccefa..9dcf1ca 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5266Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5266Test.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
 import java.util.UUID;
+import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.TimeUnit;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
@@ -37,6 +38,7 @@ import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.RedeliveryPolicy;
 import org.apache.activemq.broker.BrokerService;
 import org.apache.activemq.broker.TransportConnector;
+import org.apache.activemq.broker.region.RegionBroker;
 import org.apache.activemq.broker.region.policy.PolicyEntry;
 import org.apache.activemq.broker.region.policy.PolicyMap;
 import org.apache.activemq.command.ActiveMQQueue;
@@ -94,9 +96,9 @@ public class AMQ5266Test {
     public static Iterable<Object[]> parameters() {
         return Arrays.asList(new Object[][]{
                 // jdbc
-                {1,    1,   1,   50*1024,   false, false, true},
-                {1000, 20,  5,   50*1024,   true,  false, false},
-                {100,  20,  5,   50*1024,   false, false, false},
+                /*{1,    1,   1,   50*1024,   false, false, true}, */
+                {10000, 20,  50,   20*1024*1024,   true,  false, true},
+                /*{100,  20,  5,   50*1024,   false, false, false},
                 {1000, 5,   20,  50*1024,   true,  false, false},
                 {1000, 20,  20,  1024*1024, true,  false, false},
 
@@ -106,11 +108,12 @@ public class AMQ5266Test {
                 {1000, 20,  5,   50*1024,   true,  true, false},
                 {100,  20,  5,   50*1024,   false, true, false},
                 {1000, 5,   20,  50*1024,   true,  true, false},
-                {1000, 20,  20,  1024*1024, true,  true, false},
+                {1000, 20,  20,  1024*1024, true,  true, false},   */
         });
     }
 
     public int consumerBatchSize = 5;
+    public int PRODUCER_BATCH_SIZE = 1000;
 
     @Before
     public void startBroker() throws Exception {
@@ -132,6 +135,7 @@ public class AMQ5266Test {
         }
         brokerService.setDeleteAllMessagesOnStartup(true);
         brokerService.setUseJmx(false);
+        brokerService.setAdvisorySupport(false);
 
 
         PolicyMap policyMap = new PolicyMap();
@@ -165,10 +169,25 @@ public class AMQ5266Test {
         } catch (Exception ignored) {}
     }
 
+    CyclicBarrier globalProducerHalt = new CyclicBarrier(publisherThreadCount, new Runnable() {
+        @Override
+        public void run() {
+            // wait for queue size to go to zero
+            try {
+                while (((RegionBroker)brokerService.getRegionBroker()).getDestinationStatistics().getMessages().getCount() > 0) {
+                    LOG.info("Total messageCount: " + ((RegionBroker)brokerService.getRegionBroker()).getDestinationStatistics().getMessages().getCount());
+                    TimeUnit.SECONDS.sleep(5);
+                }
+            } catch (Exception ignored) {
+                ignored.printStackTrace();
+            }
+        }
+    });
+
     @Test
     public void test() throws Exception {
 
-        String activemqQueues = "activemq,activemq2";//,activemq3,activemq4,activemq5,activemq6,activemq7,activemq8,activemq9";
+        String activemqQueues = "activemq,activemq2,activemq3,activemq4";//,activemq5,activemq6,activemq7,activemq8,activemq9";
 
         int consumerWaitForConsumption = 5 * 60 * 1000;
 
@@ -309,6 +328,7 @@ public class AMQ5266Test {
 
             if (connectionFactory == null) {
                 connectionFactory = new ActiveMQConnectionFactory(amqUser, amqPassword, activemqURL);
+                connectionFactory.setWatchTopicAdvisories(false);
             }
 
             // Set the redelivery count to -1 (infinite), or else messages will start dropping
@@ -327,6 +347,7 @@ public class AMQ5266Test {
             private QueueConnection qc;
             private Session session;
             private MessageProducer mp;
+            private Queue q;
 
             private PublisherThread(int count) throws Exception {
 
@@ -338,8 +359,8 @@ public class AMQ5266Test {
 
                 // In our code, when publishing to multiple queues,
                 // we're using composite destinations like below
-                Queue q = new ActiveMQQueue(activemqQueues);
-                mp = session.createProducer(q);
+                q = new ActiveMQQueue(activemqQueues);
+                mp = session.createProducer(null);
             }
 
             public void run() {
@@ -354,8 +375,13 @@ public class AMQ5266Test {
                         tm.setStringProperty("KEY", id);
                         ids.add(id);                            // keep track of the key to compare against consumer
 
-                        mp.send(tm);
+                        mp.send(q, tm);
                         session.commit();
+
+
+                        if (count % PRODUCER_BATCH_SIZE == 0) {
+                            globalProducerHalt.await();
+                        }
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -494,6 +520,7 @@ public class AMQ5266Test {
 
             if (connectionFactory == null) {
                 connectionFactory = new ActiveMQConnectionFactory(amqUser, amqPassword, activemqURL);
+                connectionFactory.setWatchTopicAdvisories(false);
             }
 
             // Set the redelivery count to -1 (infinite), or else messages will start dropping
