diff --git a/src/fetcher.cc b/src/fetcher.cc
index 65b0ed8..c5d348a 100644
--- a/src/fetcher.cc
+++ b/src/fetcher.cc
@@ -120,6 +120,12 @@
 void
 Fetcher::OnData (uint64_t seqno, const Ccnx::Name &name, PcoPtr data)
 {
+  m_executor.execute (bind (&Fetcher::OnData_Execute, this, seqno, name, data));
+}
+
+void
+Fetcher::OnData_Execute (uint64_t seqno, Ccnx::Name name, Ccnx::PcoPtr data)
+{
   _LOG_DEBUG (" <<< d " << name.getPartialName (0, name.size () - 1) << ", seq = " << seqno);
 
   if (m_forwardingHint == Name ())
@@ -199,6 +205,12 @@
 void
 Fetcher::OnTimeout (uint64_t seqno, const Ccnx::Name &name, const Closure &closure, Selectors selectors)
 {
+  m_executor.execute (bind (&Fetcher::OnTimeout_Execute, this, seqno, name, closure, selectors));
+}
+
+void
+Fetcher::OnTimeout_Execute (uint64_t seqno, Ccnx::Name&name, Ccnx::Closure closure, Ccnx::Selectors selectors)
+{
   _LOG_DEBUG (" <<< :( timeout " << name.getPartialName (0, name.size () - 1) << ", seq = " << seqno);
 
   // cout << "Fetcher::OnTimeout: " << name << endl;
diff --git a/src/fetcher.h b/src/fetcher.h
index 74e3ce4..850a295 100644
--- a/src/fetcher.h
+++ b/src/fetcher.h
@@ -87,8 +87,14 @@
   OnData (uint64_t seqno, const Ccnx::Name &name, Ccnx::PcoPtr data);
 
   void
+  OnData_Execute (uint64_t seqno, Ccnx::Name name, Ccnx::PcoPtr data);
+
+  void
   OnTimeout (uint64_t seqno, const Ccnx::Name &name, const Ccnx::Closure &closure, Ccnx::Selectors selectors);
 
+  void
+  OnTimeout_Execute (uint64_t seqno, Ccnx::Name&name, Ccnx::Closure closure, Ccnx::Selectors selectors);
+
 public:
   boost::intrusive::list_member_hook<> m_managerListHook;
 
