diff --git a/test/test-fetch-manager.cc b/test/test-fetch-manager.cc
index 42d4b48..ed604f3 100644
--- a/test/test-fetch-manager.cc
+++ b/test/test-fetch-manager.cc
@@ -24,8 +24,10 @@
 #include "ccnx-wrapper.h"
 #include <boost/test/unit_test.hpp>
 #include <boost/make_shared.hpp>
+#include <boost/thread/thread.hpp>
 #include "logging.h"
 
+
 INIT_LOGGER ("Test.FetchManager");
 
 using namespace Ccnx;
@@ -92,6 +94,26 @@
   }
 };
 
+void run()
+{
+  CcnxWrapperPtr ccnx = make_shared<CcnxWrapper> ();
+
+  Name baseName ("/base");
+  Name deviceName ("/device");
+
+  for (int i = 0; i < 10; i++)
+    {
+      usleep(100000);
+      ccnx->publishData (Name (baseName)(i), reinterpret_cast<const unsigned char*> (&i), sizeof(int), 30);
+    }
+
+  for (int i = 11; i < 50; i++)
+    {
+      usleep(100000);
+      ccnx->publishData (Name (baseName)(i), reinterpret_cast<const unsigned char*> (&i), sizeof(int), 30);
+    }
+
+}
 
 BOOST_AUTO_TEST_CASE (TestFetcher)
 {
@@ -197,10 +219,8 @@
 
   Name baseName ("/base");
   Name deviceName ("/device");
-  int i = 0;
 
-  ccnx->publishData (Name (baseName)(i), reinterpret_cast<const unsigned char*> (&i), sizeof(int), 30);
-
+  thread publishThread(run);
 
   FetcherTestData data;
   ExecutorPtr executor = make_shared<Executor>(1);
@@ -212,14 +232,14 @@
                    bind (&FetcherTestData::finish, &data, _1, _2),
                    bind (&FetcherTestData::onComplete, &data, _1),
                    bind (&FetcherTestData::onFail, &data, _1),
-                   deviceName, Name ("/base"), 1, 1,
+                   deviceName, baseName, 0, 49,
                    boost::posix_time::seconds (5)); // this time is not precise
 
   BOOST_CHECK_EQUAL (fetcher.IsActive (), false);
   fetcher.RestartPipeline ();
   BOOST_CHECK_EQUAL (fetcher.IsActive (), true);
 
-  usleep(7000000);
+  usleep(20000000);
   BOOST_CHECK_EQUAL (data.m_failed, true);
 
   executor->shutdown ();
