diff --git a/model/sync-interest-table.cc b/model/sync-interest-table.cc
index a9ed265..a24e1e8 100644
--- a/model/sync-interest-table.cc
+++ b/model/sync-interest-table.cc
@@ -62,12 +62,19 @@
 bool
 SyncInterestTable::insert(const string &interest)
 {
+  bool existent = false;
+  
   recursive_mutex::scoped_lock lock (m_mutex);
   TableContainer::iterator it = m_table.find (interest);
   if (it != m_table.end())
-    m_table.erase(it);
+    {
+      existent = true;
+      m_table.erase(it);
+    }
   time_t currentTime = time(0);
   m_table.insert (make_pair(interest, currentTime));
+
+  return existent;
 }
 
 uint32_t
diff --git a/model/sync-logic.cc b/model/sync-logic.cc
index b77f29d..7fc9295 100644
--- a/model/sync-logic.cc
+++ b/model/sync-logic.cc
@@ -240,6 +240,10 @@
         }
       else
         {
+          bool exists = m_syncInterestTable.remove (interestName);
+          if (exists)
+            return;
+
           // m_recentUnknownDigests.insert (DigestTime (digest, TIME_NOW + TIME_SECONDS (m_unknownDigestStoreTime)));
           
           uint32_t waitDelay = GET_RANDOM (m_rangeUniformRandom);      
@@ -248,7 +252,7 @@
           m_scheduler.schedule (TIME_MILLISECONDS (waitDelay),
                                 bind (&SyncLogic::processSyncInterest, this, digest, interestName, true),
                                 DELAYED_INTEREST_PROCESSING);
-
+          
           // just in case, re-express our interest (e.g., probably something bad happened)
           
           // m_scheduler.cancel (REEXPRESSING_INTEREST);
@@ -262,7 +266,7 @@
       // _LOG_TRACE ("                                                                   (timed processing)");
       _LOG_TRACE (">> D " << interestName << "/state" << " (timed processing)");
 
-      m_syncInterestTable.remove (interestName + "/state");
+      m_syncInterestTable.remove (interestName);
       m_ccnxHandle->publishData (interestName + "/state",
                                  lexical_cast<string> (m_state),
                                  m_syncResponseFreshness);
