diff --git a/model/sync-diff-state.cc b/model/sync-diff-state.cc
index a804a8e..1c6a41c 100644
--- a/model/sync-diff-state.cc
+++ b/model/sync-diff-state.cc
@@ -43,7 +43,7 @@
 DiffState::diff () const
 {
   DiffStatePtr ret = make_shared<DiffState> ();
-
+  
   DiffStatePtr state = m_next;
   while (state != 0)
     {
@@ -57,6 +57,21 @@
 DiffState &
 DiffState::operator += (const DiffState &state)
 {
+  BOOST_FOREACH (LeafConstPtr _leaf, state.getLeaves ())
+    {
+      DiffLeafConstPtr leaf = dynamic_pointer_cast<const DiffLeaf> (_leaf);
+      BOOST_ASSERT (leaf != 0);
+
+      if (leaf->getOperation () == UPDATE)
+        update (leaf->getInfo (), leaf->getSeq ());
+      else if (leaf->getOperation () == REMOVE)
+        remove (leaf->getInfo ());
+      else
+        {
+          BOOST_ASSERT (false);
+        }
+    }
+  
   return *this;
 }
   
diff --git a/model/sync-logic.cc b/model/sync-logic.cc
index c4a8487..e39b86b 100644
--- a/model/sync-logic.cc
+++ b/model/sync-logic.cc
@@ -246,6 +246,10 @@
         }
 
       diffLog->setDigest(m_state.getDigest());
+      if (m_log.size () > 0)
+        {
+          m_log.get<sequenced> ().front ()->setNext (diffLog);
+        }
       m_log.insert (diffLog);
     }
   catch (Error::SyncXmlDecodingFailure &e)
@@ -256,15 +260,6 @@
 
   if (diffLog->getLeaves ().size () > 0)
     {
-      // notify upper layer
-      BOOST_FOREACH (LeafConstPtr leaf, diffLog->getLeaves ())
-        {
-          DiffLeafConstPtr diffLeaf = dynamic_pointer_cast<const DiffLeaf> (leaf);
-          BOOST_ASSERT (diffLeaf != 0);
-          
-          // m_fetchCallback (prefix, 1, seq.getSeq());
-        }
-  
       sendSyncInterest();
     }
 }
