diff --git a/src/mgmt/nfd/face-status.hpp b/src/mgmt/nfd/face-status.hpp
index 7835dba..30a97f5 100644
--- a/src/mgmt/nfd/face-status.hpp
+++ b/src/mgmt/nfd/face-status.hpp
@@ -77,21 +77,38 @@
   FaceStatus&
   unsetExpirationPeriod();
 
+  bool
+  hasBaseCongestionMarkingInterval() const
+  {
+    return !!m_baseCongestionMarkingInterval;
+  }
+
   time::nanoseconds
   getBaseCongestionMarkingInterval() const
   {
-    return m_baseCongestionMarkingInterval;
+    BOOST_ASSERT(hasBaseCongestionMarkingInterval());
+    return *m_baseCongestionMarkingInterval;
   }
 
   FaceStatus&
   setBaseCongestionMarkingInterval(time::nanoseconds interval);
 
+  FaceStatus&
+  unsetBaseCongestionMarkingInterval();
+
+  bool
+  hasDefaultCongestionThreshold() const
+  {
+    return !!m_defaultCongestionThreshold;
+  }
+
   /** \brief get default congestion threshold (measured in bytes)
    */
   uint64_t
   getDefaultCongestionThreshold() const
   {
-    return m_defaultCongestionThreshold;
+    BOOST_ASSERT(hasDefaultCongestionThreshold());
+    return *m_defaultCongestionThreshold;
   }
 
   /** \brief set default congestion threshold (measured in bytes)
@@ -99,6 +116,9 @@
   FaceStatus&
   setDefaultCongestionThreshold(uint64_t threshold);
 
+  FaceStatus&
+  unsetDefaultCongestionThreshold();
+
   uint64_t
   getNInInterests() const
   {
@@ -173,8 +193,8 @@
 
 private:
   optional<time::milliseconds> m_expirationPeriod;
-  time::nanoseconds m_baseCongestionMarkingInterval;
-  uint64_t m_defaultCongestionThreshold;
+  optional<time::nanoseconds> m_baseCongestionMarkingInterval;
+  optional<uint64_t> m_defaultCongestionThreshold;
   uint64_t m_nInInterests;
   uint64_t m_nInData;
   uint64_t m_nInNacks;
