diff --git a/qt5/forwarder-status.cpp b/qt5/forwarder-status.cpp
index 300c29e..b908750 100644
--- a/qt5/forwarder-status.cpp
+++ b/qt5/forwarder-status.cpp
@@ -33,12 +33,12 @@
 
 namespace ndn {
 
-ForwarderStatusModel::ForwarderStatusModel(Face& face, QObject* parent/* = 0*/)
+ForwarderStatusModel::ForwarderStatusModel(QObject* parent/* = 0*/)
   : QAbstractListModel(parent)
-  , m_face(face)
 {
   connect(this, SIGNAL(onDataReceived(ndn::shared_ptr<const ndn::Data>)), this,
-          SLOT(updateStatus(ndn::shared_ptr<const ndn::Data>)));
+          SLOT(updateStatus(ndn::shared_ptr<const ndn::Data>)),
+          Qt::QueuedConnection);
 }
 
 int
@@ -81,16 +81,6 @@
   return roles;
 }
 
-Q_INVOKABLE void
-ForwarderStatusModel::fetchVersionInformation()
-{
-  Interest interest("/localhost/nfd/status");
-  interest.setMustBeFresh(true);
-  m_face.expressInterest(interest,
-                         bind(&ForwarderStatusModel::afterFetchedVersionInformation, this, _2),
-                         bind(&ForwarderStatusModel::onTimeout, this, _1));
-}
-
 void
 ForwarderStatusModel::clear()
 {
