diff --git a/daemon/face/tcp-factory.cpp b/daemon/face/tcp-factory.cpp
index 02d5f33..369af43 100644
--- a/daemon/face/tcp-factory.cpp
+++ b/daemon/face/tcp-factory.cpp
@@ -25,8 +25,6 @@
 
 #include "tcp-factory.hpp"
 
-#include <ndn-cxx/net/address-converter.hpp>
-
 namespace nfd {
 namespace face {
 
@@ -169,7 +167,7 @@
     return;
   }
 
-  tcp::Endpoint endpoint(ndn::ip::addressFromString(req.remoteUri.getHost()),
+  tcp::Endpoint endpoint(ip::address::from_string(req.remoteUri.getHost()),
                          boost::lexical_cast<uint16_t>(req.remoteUri.getPort()));
 
   // a canonical tcp4/tcp6 FaceUri cannot have a multicast address
diff --git a/daemon/face/udp-factory.cpp b/daemon/face/udp-factory.cpp
index 2b7b3c8..5d28bed 100644
--- a/daemon/face/udp-factory.cpp
+++ b/daemon/face/udp-factory.cpp
@@ -28,7 +28,6 @@
 #include "multicast-udp-transport.hpp"
 #include "core/global-io.hpp"
 
-#include <ndn-cxx/net/address-converter.hpp>
 #include <boost/range/adaptor/map.hpp>
 #include <boost/range/algorithm/copy.hpp>
 
@@ -137,7 +136,7 @@
       else if (key == "mcast_group_v6") {
         const std::string& valueStr = value.get_value<std::string>();
         boost::system::error_code ec;
-        mcastConfig.groupV6.address(ndn::ip::addressV6FromString(valueStr, ec));
+        mcastConfig.groupV6.address(ip::address_v6::from_string(valueStr, ec));
         if (ec) {
           BOOST_THROW_EXCEPTION(ConfigFile::Error("face_system.udp.mcast_group_v6: '" +
                                 valueStr + "' cannot be parsed as an IPv6 address"));
@@ -253,7 +252,7 @@
     return;
   }
 
-  udp::Endpoint endpoint(ndn::ip::addressFromString(req.remoteUri.getHost()),
+  udp::Endpoint endpoint(ip::address::from_string(req.remoteUri.getHost()),
                          boost::lexical_cast<uint16_t>(req.remoteUri.getPort()));
 
   if (endpoint.address().is_multicast()) {
