diff --git a/src/rib-status.cpp b/src/rib-status.cpp
index 4a928d3..467f627 100644
--- a/src/rib-status.cpp
+++ b/src/rib-status.cpp
@@ -107,8 +107,8 @@
   for (auto const& ribEntry : status) {
     bool isSamePrefix = false;
     for (auto const& route : ribEntry.getRoutes()) {
-      QString expirationPeriod = route.hasExpirationPeriod() ? QString("Never") :
-                                 QString::fromStdString(std::to_string(route.getExpirationPeriod().count()));
+      QString expirationPeriod = route.hasExpirationPeriod() ?
+        QString::fromStdString(std::to_string(route.getExpirationPeriod().count())) : QString("Never");
       if (!isSamePrefix) {
         addItem(RibStatusItem(QString::fromStdString(ribEntry.getName().toUri()), route.getFaceId(), route.getOrigin(),
                               route.getCost(), route.isChildInherit(), route.isRibCapture(), expirationPeriod));
diff --git a/src/status-viewer.cpp b/src/status-viewer.cpp
index ea97b1b..6f36575 100644
--- a/src/status-viewer.cpp
+++ b/src/status-viewer.cpp
@@ -89,14 +89,11 @@
 StatusViewer::cancelEvents()
 {
   m_nextStatusRetrieval.cancel();
-  std::cerr << "Future events canceled" << std::endl;
 }
 
 void
 StatusViewer::requestNfdStatus()
 {
-  std::cerr << "requestNfdStatus" << std::endl;
-
   m_controller->fetch<ndn::nfd::ForwarderGeneralStatusDataset>(bind(&StatusViewer::onStatusRetrieved, this, _1),
                                                                bind(&StatusViewer::onStatusTimeout, this));
   m_controller->fetch<ndn::nfd::ChannelDataset>(bind(&StatusViewer::onChannelStatusRetrieved, this, _1),
