correct two logic:
when oldSeq.session != newSeq.session, fetch from 0
when found seq's session != current session, return seq as 0
diff --git a/model/sync-app-data-fetch.cc b/model/sync-app-data-fetch.cc
index b3bf362..ca81c3a 100644
--- a/model/sync-app-data-fetch.cc
+++ b/model/sync-app-data-fetch.cc
@@ -38,7 +38,7 @@
   
   // sequence number logic here
   uint32_t start = 0;
-  if (oldSeq.isValid ())
+  if (oldSeq.isValid () && oldSeq.getSession() == newSeq.getSession())
     {
       start = oldSeq.getSeq () + 1;
     }
diff --git a/model/sync-app-data-publish.cc b/model/sync-app-data-publish.cc
index 43f6b54..874e520 100644
--- a/model/sync-app-data-publish.cc
+++ b/model/sync-app-data-publish.cc
@@ -52,8 +52,7 @@
       if (s.session == session)
         return s.seq;
     }
-  else
-    return 0;
+  return 0;
 }
 
 uint32_t