diff --git a/src/main.cpp b/src/main.cpp
index 2497f74..c46aea2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -35,7 +35,7 @@
   std::string programName(argv[0]);
   nlsr.setConfFileName("nlsr.conf");
   int32_t opt;
-  while ((opt = getopt(argc, argv, "df:p:h")) != -1) {
+  while ((opt = getopt(argc, argv, "df:h")) != -1) {
     switch (opt)
     {
       case 'f':
@@ -44,14 +44,6 @@
       case 'd':
         nlsr.setIsDaemonProcess(true);
         break;
-      case 'p':
-      {
-        std::stringstream sst(optarg);
-        int ap;
-        sst >> ap;
-        nlsr.setApiPort(ap);
-      }
-      break;
       case 'h':
       default:
         nlsr.usage(programName);
diff --git a/src/nlsr.hpp b/src/nlsr.hpp
index dd3c99b..6197588 100644
--- a/src/nlsr.hpp
+++ b/src/nlsr.hpp
@@ -224,19 +224,6 @@
     m_isBuildAdjLsaSheduled = iabls;
   }
 
-
-  void
-  setApiPort(int32_t ap)
-  {
-    m_apiPort = ap;
-  }
-
-  int32_t
-  getApiPort()
-  {
-    return m_apiPort;
-  }
-
   bool
   getIsRoutingTableCalculating()
   {
@@ -372,7 +359,6 @@
   Fib m_fib;
   NamePrefixTable m_namePrefixTable;
   SyncLogicHandler m_syncLogicHandler;
-  int32_t m_apiPort;
   HelloProtocol m_helloProtocol;
 
   ndn::shared_ptr<ndn::CertificateCacheTtl> m_certificateCache;
