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);
