diff --git a/model/sync-logic.cc b/model/sync-logic.cc
index c013355..48c1d81 100644
--- a/model/sync-logic.cc
+++ b/model/sync-logic.cc
@@ -293,7 +293,7 @@
           BOOST_ASSERT (diffLeaf != 0);
 
           NameInfoConstPtr info = diffLeaf->getInfo();
-          if (diffLeaf->getOperation() == UPDATE)
+          if (diffLeaf->getOperation() == UPDATE && info->toString() != forwarderPrefix)
             {
               SeqNo seq = diffLeaf->getSeq();
 
@@ -328,7 +328,7 @@
             }
           else
             {
-              BOOST_ASSERT (false); // just in case
+              BOOST_ASSERT (info->toString() == forwarderPrefix); // just in case
             }
         }
 
@@ -466,8 +466,19 @@
     NameInfoConstPtr info = StdNameInfo::FindOrCreate(prefix);
     m_state->remove(info);	
 
+    // increment the sequence number for the forwarder node
+    NameInfoConstPtr forwarderInfo = StdNameInfo::FindOrCreate(forwarderPrefix);
+    bool inserted = false;
+    bool updated = false;
+    SeqNo oldSeq;
+    tie (inserted, updated, oldSeq) = m_state->update (forwarderInfo, oldSeq);
+    oldSeq.setSeq(oldSeq.getSeq() + 1);
+    m_state->update(info, oldSeq);
+
+
     diff = make_shared<DiffState>();
     diff->remove(info);
+    diff->update(forwarderInfo, oldSeq);
 
     insertToDiffLog (diff);
   }
