diff --git a/tests/test-get-async.cpp b/tests/test-get-async.cpp
index 94f3455..692ed36 100644
--- a/tests/test-get-async.cpp
+++ b/tests/test-get-async.cpp
@@ -17,14 +17,14 @@
 class MyClosure : public Closure {
 public:
   MyClosure()
-  : gotContentCount_(0)
+  : gotCallbackCount_(0)
   {  
   }
   
-  virtual UpcallResult upcall(UpcallKind kind, UpcallInfo &upcallInfo)
+  virtual UpcallResult upcall(UpcallKind kind, const UpcallInfo &upcallInfo)
   {
     if (kind == UPCALL_DATA || kind == UPCALL_DATA_UNVERIFIED) {
-      ++gotContentCount_;
+      ++gotCallbackCount_;
       cout << "Got data packet with name " << upcallInfo.getData()->getName().to_uri() << endl;
       for (unsigned int i = 0; i < upcallInfo.getData()->getContent().size(); ++i)
         cout << upcallInfo.getData()->getContent()[i];
@@ -32,11 +32,16 @@
       
       return CLOSURE_RESULT_OK;
     }
+    else if (kind == UPCALL_INTEREST_TIMED_OUT) {
+      ++gotCallbackCount_;
+      cout << "Time out for interest  " << upcallInfo.getInterest()->getName().toUri() << endl;    
+      return CLOSURE_RESULT_OK;
+    }
     else
       return CLOSURE_RESULT_OK;
   }
   
-  int gotContentCount_;
+  int gotCallbackCount_;
 };
 
 int main(int argc, char** argv)
@@ -48,14 +53,12 @@
     Name name1("/ndn/ucla.edu/apps/ndn-js-test/hello.txt/level2/%FD%05%0B%16%7D%95%0E");    
     cout << "Express name  " << name1.toUri() << endl;
     face.expressInterest(name1, &closure);
-#if 0
     Name name2("/ndn/ucla.edu/apps/lwndn-test/howdy.txt/%FD%05%05%E8%0C%CE%1D");
     cout << "Express name  " << name2.toUri() << endl;
     face.expressInterest(name2, &closure);
-#endif
 
     // The main event loop.
-    while (closure.gotContentCount_ < 1) {
+    while (closure.gotCallbackCount_ < 2) {
       face.processEvents();
       // We need to sleep for a few milliseconds so we don't use 100% of the CPU.
       usleep(10000);
