diff --git a/daemon/face/ndnlp-slicer.cpp b/daemon/face/ndnlp-slicer.cpp
index 9efe7d6..6b5b818 100644
--- a/daemon/face/ndnlp-slicer.cpp
+++ b/daemon/face/ndnlp-slicer.cpp
@@ -118,7 +118,7 @@
     size_t pktSize = Slicer_encodeFragment(buffer,
       seqBlock[fragIndex], fragIndex, fragCount, payload, payloadSize);
 
-    BOOST_ASSERT(pktSize <= m_mtu);
+    BOOST_VERIFY(pktSize <= m_mtu);
 
     pa->push_back(buffer.block());
   }
diff --git a/daemon/table/name-tree.cpp b/daemon/table/name-tree.cpp
index 61a5364..d7cb544 100644
--- a/daemon/table/name-tree.cpp
+++ b/daemon/table/name-tree.cpp
@@ -339,7 +339,7 @@
                 }
             }
 
-          BOOST_ASSERT(isFound == true);
+          BOOST_VERIFY(isFound == true);
         }
 
       // remove this Entry and its Name Tree Node
@@ -625,7 +625,7 @@
               node = node->m_next;
             }
         }
-      BOOST_ASSERT(isFound == false);
+      BOOST_VERIFY(isFound == false);
       // Reach to the end()
       m_entry = m_nameTree.m_end;
       return *this;
@@ -702,7 +702,7 @@
                     }
                 }
 
-              BOOST_ASSERT(isFound == true);
+              BOOST_VERIFY(isFound == true);
               if (i < parentChildrenList.size() - 1) // m_entry not the last child
                 {
                   m_entry = parentChildrenList[i + 1];
