diff --git a/tools/nfdc/face-module.cpp b/tools/nfdc/face-module.cpp
index 93a6563..85673a8 100644
--- a/tools/nfdc/face-module.cpp
+++ b/tools/nfdc/face-module.cpp
@@ -509,8 +509,8 @@
 void
 FaceModule::printFaceParams(std::ostream& os, text::ItemAttributes& ia, const ControlParameters& resp)
 {
-  os << ia("reliability") << (resp.getFlagBit(ndn::nfd::BIT_LP_RELIABILITY_ENABLED) ? "on" : "off")
-     << ia("congestion-marking") << (resp.getFlagBit(ndn::nfd::BIT_CONGESTION_MARKING_ENABLED) ? "on" : "off");
+  os << ia("reliability") << text::OnOff{resp.getFlagBit(ndn::nfd::BIT_LP_RELIABILITY_ENABLED)}
+     << ia("congestion-marking") << text::OnOff{resp.getFlagBit(ndn::nfd::BIT_CONGESTION_MARKING_ENABLED)};
   if (resp.hasBaseCongestionMarkingInterval()) {
     os << ia("congestion-marking-interval")
        << text::formatDuration<time::milliseconds>(resp.getBaseCongestionMarkingInterval());
diff --git a/tools/nfdc/format-helpers.cpp b/tools/nfdc/format-helpers.cpp
index 6d5a983..a329102 100644
--- a/tools/nfdc/format-helpers.cpp
+++ b/tools/nfdc/format-helpers.cpp
@@ -177,6 +177,12 @@
   return os << attr.attribute << '=';
 }
 
+std::ostream&
+operator<<(std::ostream& os, OnOff v)
+{
+  return os << (v.flag ? "on" : "off");
+}
+
 std::string
 formatTimestamp(time::system_clock::TimePoint t)
 {
diff --git a/tools/nfdc/format-helpers.hpp b/tools/nfdc/format-helpers.hpp
index c0f8fd1..0d131f1 100644
--- a/tools/nfdc/format-helpers.hpp
+++ b/tools/nfdc/format-helpers.hpp
@@ -165,6 +165,16 @@
 std::ostream&
 operator<<(std::ostream& os, const ItemAttributes::Attribute& attr);
 
+/** \brief print boolean as 'on' or 'off'
+ */
+struct OnOff
+{
+  bool flag;
+};
+
+std::ostream&
+operator<<(std::ostream& os, OnOff v);
+
 namespace detail {
 
 template<typename DurationT>
