diff --git a/src/controller-backend.cpp b/src/controller-backend.cpp
index 771154a..df341c9 100644
--- a/src/controller-backend.cpp
+++ b/src/controller-backend.cpp
@@ -11,6 +11,7 @@
 #include "controller-backend.hpp"
 
 #ifndef Q_MOC_RUN
+#include <ndn-cxx/util/segment-fetcher.hpp>
 #include "invitation.hpp"
 #include "logging.h"
 #endif
@@ -232,11 +233,11 @@
 }
 
 void
-ControllerBackend::onLocalPrefix(const Interest& interest, Data& data)
+ControllerBackend::onLocalPrefix(const ndn::ConstBufferPtr& data)
 {
   Name prefix;
 
-  Block contentBlock = data.getContent();
+  Block contentBlock(tlv::Content, data);
   try {
     contentBlock.parse();
 
@@ -265,7 +266,7 @@
 }
 
 void
-ControllerBackend::onLocalPrefixTimeout(const Interest& interest)
+ControllerBackend::onLocalPrefixError(uint32_t code, const std::string& msg)
 {
   Name localPrefix("/private/local");
   updateLocalPrefix(localPrefix);
@@ -335,14 +336,15 @@
 void
 ControllerBackend::onUpdateLocalPrefixAction()
 {
-  // Name interestName();
-  Interest interest("/localhop/ndn-autoconf/routable-prefixes");
+  Interest interest("/localhop/nfd/rib/routable-prefixes");
   interest.setInterestLifetime(time::milliseconds(1000));
   interest.setMustBeFresh(true);
 
-  m_face.expressInterest(interest,
-                         bind(&ControllerBackend::onLocalPrefix, this, _1, _2),
-                         bind(&ControllerBackend::onLocalPrefixTimeout, this, _1));
+  ndn::util::SegmentFetcher::fetch(m_face,
+                                   interest,
+                                   ndn::util::DontVerifySegment(),
+                                   bind(&ControllerBackend::onLocalPrefix, this, _1),
+                                   bind(&ControllerBackend::onLocalPrefixError, this, _1, _2));
 }
 
 void
diff --git a/src/controller-backend.hpp b/src/controller-backend.hpp
index a449aa4..d7bda46 100644
--- a/src/controller-backend.hpp
+++ b/src/controller-backend.hpp
@@ -77,10 +77,10 @@
                                std::string failureInfo);
 
   void
-  onLocalPrefix(const Interest& interest, Data& data);
+  onLocalPrefix(const ndn::ConstBufferPtr& data);
 
   void
-  onLocalPrefixTimeout(const Interest& interest);
+  onLocalPrefixError(uint32_t code, const std::string& msg);
 
   void
   updateLocalPrefix(const Name& localPrefix);
