diff --git a/src/nlsr.cpp b/src/nlsr.cpp
index 2618634..ed95631 100644
--- a/src/nlsr.cpp
+++ b/src/nlsr.cpp
@@ -197,14 +197,12 @@
 
 void
 Nlsr::createFace(const std::string& faceUri,
-                 uint64_t faceCost,
                  const CommandSucceedCallback& onSuccess,
                  const CommandFailCallback& onFailure)
 {
   ndn::nfd::ControlParameters faceParameters;
   faceParameters
-    .setUri(faceUri)
-    .setCost(faceCost);
+    .setUri(faceUri);
   m_controller.start<ndn::nfd::FaceCreateCommand>(faceParameters,
                                                   onSuccess,
                                                   onFailure);
@@ -235,7 +233,6 @@
   for (std::list<Adjacent>::iterator it = adjacents.begin();
        it != adjacents.end(); it++) {
     createFace((*it).getConnectingFaceUri(),
-               (*it).getLinkCost(),
                ndn::bind(&Nlsr::onCreateFaceSuccess, this, _1),
                ndn::bind(&Nlsr::onCreateFaceFailure, this, _1, _2));
     m_nFacesToCreate++;
diff --git a/src/nlsr.hpp b/src/nlsr.hpp
index 68fbcc7..dd56c1b 100644
--- a/src/nlsr.hpp
+++ b/src/nlsr.hpp
@@ -325,7 +325,6 @@
 
   void
   createFace(const std::string& faceUri,
-             uint64_t faceCost,
              const CommandSucceedCallback& onSuccess,
              const CommandFailCallback& onFailure);
 
