diff --git a/ndn-cpp/Closure.hpp b/ndn-cpp/Closure.hpp
index 99dafdb..9efbd03 100644
--- a/ndn-cpp/Closure.hpp
+++ b/ndn-cpp/Closure.hpp
@@ -39,7 +39,7 @@
 
 class UpcallInfo {
 public:
-  UpcallInfo(NDN *ndn, ptr_lib::shared_ptr<Interest> interest, int matchedComps, ptr_lib::shared_ptr<ContentObject> contentObject) 
+  UpcallInfo(NDN *ndn, ptr_lib::shared_ptr<Interest> &interest, int matchedComps, ptr_lib::shared_ptr<ContentObject> &contentObject) 
   {
     ndn_ = ndn;
     interest_ = interest;
@@ -48,9 +48,9 @@
   
   NDN *getNDN() { return ndn_; }
   
-  ptr_lib::shared_ptr<Interest> getInterest() { return interest_; }
+  ptr_lib::shared_ptr<Interest> &getInterest() { return interest_; }
   
-  ptr_lib::shared_ptr<ContentObject> getContentObject() { return contentObject_; }
+  ptr_lib::shared_ptr<ContentObject> &getContentObject() { return contentObject_; }
   
 private:
   NDN *ndn_;
diff --git a/ndn-cpp/NDN.cpp b/ndn-cpp/NDN.cpp
index cd1dbe6..cafa4c6 100644
--- a/ndn-cpp/NDN.cpp
+++ b/ndn-cpp/NDN.cpp
@@ -20,7 +20,8 @@
     ptr_lib::shared_ptr<ContentObject> contentObject(new ContentObject());
     contentObject->decode(element, elementLength);
     
-    UpcallInfo upcallInfo(this, ptr_lib::shared_ptr<Interest>(), 0, contentObject);
+    ptr_lib::shared_ptr<Interest> dummyInterest;
+    UpcallInfo upcallInfo(this, dummyInterest, 0, contentObject);
     closure_->upcall(UPCALL_CONTENT, upcallInfo);
   }
 }
