Add another variety of the QueueBrowser close test.
diff --git a/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.cpp b/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.cpp
index fe5cbca..5de5061 100644
--- a/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.cpp
+++ b/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.cpp
@@ -242,3 +242,37 @@
         browser.reset(NULL);
     }
 }
+
+////////////////////////////////////////////////////////////////////////////////
+void QueueBrowserTest::testRepeatedQueueBrowserCreateDestroyWithMessageInQueue() {
+
+    ActiveMQConnection* connection = dynamic_cast<ActiveMQConnection*>(cmsProvider->getConnection());
+    CPPUNIT_ASSERT(connection != NULL);
+
+    std::auto_ptr<cms::Session> session(connection->createSession(cms::Session::AUTO_ACKNOWLEDGE));
+    std::auto_ptr<cms::Queue> queue(session->createTemporaryQueue());
+
+    std::auto_ptr<cms::MessageProducer> producer(session->createProducer(queue.get()));
+    std::auto_ptr<cms::TextMessage> textMessage(session->createTextMessage("Test"));
+
+    producer->setDeliveryMode(cms::DeliveryMode::NON_PERSISTENT);
+    for (int i = 0 ; i < 10; ++i) {
+        producer->send(textMessage.get());
+    }
+
+    connection->start();
+
+    std::auto_ptr<cms::QueueBrowser> browser(session->createBrowser(queue.get()));
+
+    for (int i = 0; i < 200; i++) {
+        browser.reset(session->createBrowser(queue.get()));
+        cms::MessageEnumeration* browserView = browser->getEnumeration();
+
+        if (browserView->hasMoreMessages()) {
+            std::auto_ptr<cms::Message> message(browserView->nextMessage());
+            CPPUNIT_ASSERT(message.get() != NULL);
+        }
+
+        browser.reset(NULL);
+    }
+}
diff --git a/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.h b/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.h
index c47568d..c8ed201 100644
--- a/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.h
+++ b/activemq-cpp/src/test-integration/activemq/test/QueueBrowserTest.h
@@ -34,6 +34,7 @@
         void testBrowseReceive();
         void testQueueBrowserWith2Consumers();
         void testRepeatedQueueBrowserCreateDestroy();
+        void testRepeatedQueueBrowserCreateDestroyWithMessageInQueue();
 
     };
 
diff --git a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireQueueBrowserTest.h b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireQueueBrowserTest.h
index 1b9f2ff..97d8779 100644
--- a/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireQueueBrowserTest.h
+++ b/activemq-cpp/src/test-integration/activemq/test/openwire/OpenwireQueueBrowserTest.h
@@ -32,6 +32,7 @@
         CPPUNIT_TEST( testBrowseReceive );
         CPPUNIT_TEST( testQueueBrowserWith2Consumers );
         CPPUNIT_TEST( testRepeatedQueueBrowserCreateDestroy );
+        CPPUNIT_TEST( testRepeatedQueueBrowserCreateDestroyWithMessageInQueue );
         CPPUNIT_TEST_SUITE_END();
 
     public: