diff --git a/src/communication/sync-logic-handler.cpp b/src/communication/sync-logic-handler.cpp
index f4a42a2..05f3e87 100644
--- a/src/communication/sync-logic-handler.cpp
+++ b/src/communication/sync-logic-handler.cpp
@@ -83,7 +83,8 @@
         interestName.append("name");
         interestName.appendNumber(sm.getNameLsaSeq());
         pnlsr.getLsdb().expressInterest(interestName,
-                                        pnlsr.getConfParameter().getInterestResendTime());
+                                        pnlsr.getConfParameter().getInterestResendTime(),
+                                        0);
       }
       if (pnlsr.getLsdb().isAdjLsaNew(rName.append("adjacency"),
                                       sm.getAdjLsaSeq())) {
@@ -94,7 +95,8 @@
         interestName.append("adjacency");
         interestName.appendNumber(sm.getAdjLsaSeq());
         pnlsr.getLsdb().expressInterest(interestName,
-                                        pnlsr.getConfParameter().getInterestResendTime());
+                                        pnlsr.getConfParameter().getInterestResendTime(),
+                                        0);
       }
       if (pnlsr.getLsdb().isCoordinateLsaNew(rName.append("coordinate"),
                                              sm.getCorLsaSeq())) {
@@ -105,7 +107,8 @@
         interestName.append("coordinate");
         interestName.appendNumber(sm.getCorLsaSeq());
         pnlsr.getLsdb().expressInterest(interestName,
-                                        pnlsr.getConfParameter().getInterestResendTime());
+                                        pnlsr.getConfParameter().getInterestResendTime(),
+                                        0);
       }
     }
     catch (std::exception& e) {
