diff --git a/tests/test-get-async.cpp b/tests/test-get-async.cpp
index fd2c1cc..b2a797a 100644
--- a/tests/test-get-async.cpp
+++ b/tests/test-get-async.cpp
@@ -17,9 +17,15 @@
 
 class MyClosure : public Closure {
 public:
+  MyClosure()
+  : gotContent_(false)
+  {  
+  }
+  
   virtual UpcallResult upcall(UpcallKind kind, UpcallInfo &upcallInfo)
   {
     if (kind == UPCALL_CONTENT || kind == UPCALL_CONTENT_UNVERIFIED) {
+      gotContent_ = true;
       cout << "Got content with name " << upcallInfo.getContentObject()->getName().to_uri() << endl;
       for (unsigned int i = 0; i < upcallInfo.getContentObject()->getContent().size(); ++i)
         cout << upcallInfo.getContentObject()->getContent()[i];
@@ -30,16 +36,21 @@
     else
       return CLOSURE_RESULT_OK;
   }
+  
+  bool gotContent_;
 };
 
 int main(int argc, char** argv)
 {
   try {
     shared_ptr<TcpTransport> transport(new TcpTransport());
+    shared_ptr<MyClosure> closure(new MyClosure());
     NDN ndn(transport, "E.hub.ndn.ucla.edu", 9695);
-    ndn.expressInterest(Name("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E"), make_shared<MyClosure>(), 0);
+    ndn.expressInterest(Name("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E"), closure, 0);
     
-    transport->tempReceive();    
+    // Pump the receive process.  This should really be done by a socket listener.
+    while (!closure->gotContent_)
+      transport->tempReceive();    
   } catch (std::exception &e) {
     cout << "exception: " << e.what() << endl;
   }
