diff --git a/tests/daemon/mgmt/face-manager-command-fixture.cpp b/tests/daemon/mgmt/face-manager-command-fixture.cpp
index 8eecf9e..4053682 100644
--- a/tests/daemon/mgmt/face-manager-command-fixture.cpp
+++ b/tests/daemon/mgmt/face-manager-command-fixture.cpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2017,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
@@ -25,6 +25,8 @@
 
 #include "face-manager-command-fixture.hpp"
 
+#include <ndn-cxx/net/network-monitor-stub.hpp>
+
 namespace nfd {
 namespace tests {
 
@@ -32,7 +34,7 @@
   : face(getGlobalIoService(), keyChain, {true, true})
   , dispatcher(face, keyChain, ndn::security::SigningInfo())
   , authenticator(CommandAuthenticator::create())
-  , faceSystem(faceTable)
+  , faceSystem(faceTable, make_shared<ndn::net::NetworkMonitorStub>(0))
   , manager(faceSystem, dispatcher, *authenticator)
 {
   dispatcher.addTopPrefix("/localhost/nfd");
diff --git a/tests/daemon/mgmt/face-manager-create-face.t.cpp b/tests/daemon/mgmt/face-manager-create-face.t.cpp
index 4431256..4274efa 100644
--- a/tests/daemon/mgmt/face-manager-create-face.t.cpp
+++ b/tests/daemon/mgmt/face-manager-create-face.t.cpp
@@ -313,7 +313,7 @@
       FaceUri uri;
       if (uri.parse(FaceType::getParameters().getUri())) {
         // ensure face not created
-        auto& faceTable = this->node1.manager.m_faceTable;
+        const auto& faceTable = this->node1.faceTable;
         BOOST_CHECK(std::none_of(faceTable.begin(), faceTable.end(), [uri] (Face& face) {
           return face.getRemoteUri() == uri;
         }));
diff --git a/tests/daemon/mgmt/face-manager.t.cpp b/tests/daemon/mgmt/face-manager.t.cpp
index 03bdd78..7e294d4 100644
--- a/tests/daemon/mgmt/face-manager.t.cpp
+++ b/tests/daemon/mgmt/face-manager.t.cpp
@@ -44,7 +44,7 @@
 public:
   FaceManagerFixture()
     : m_faceTable(m_forwarder.getFaceTable())
-    , m_faceSystem(m_faceTable)
+    , m_faceSystem(m_faceTable, make_shared<ndn::net::NetworkMonitorStub>(0))
     , m_manager(m_faceSystem, m_dispatcher, *m_authenticator)
   {
     setTopPrefix();
@@ -295,9 +295,9 @@
 
 BOOST_AUTO_TEST_CASE(ChannelDataset)
 {
-  m_manager.m_faceSystem.m_factories["test"] =
+  m_faceSystem.m_factories["test"] =
     make_unique<TestProtocolFactory>(m_faceSystem.makePFCtorParams());
-  auto factory = static_cast<TestProtocolFactory*>(m_manager.m_faceSystem.getFactoryById("test"));
+  auto factory = static_cast<TestProtocolFactory*>(m_faceSystem.getFactoryById("test"));
 
   const size_t nEntries = 404;
   std::map<std::string, shared_ptr<TestChannel>> addedChannels;
