diff --git a/include/ndn-cpp/security/certificate/oid.hpp b/include/ndn-cpp/security/certificate/oid.hpp
deleted file mode 100644
index bcbcfe9..0000000
--- a/include/ndn-cpp/security/certificate/oid.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/**
- * Copyright (C) 2013 Regents of the University of California.
- * @author: Yingdi Yu <yingdi@cs.ucla.edu>
- * @author: Jeff Thompson <jefft0@remap.ucla.edu>
- * See COPYING for copyright and distribution information.
- */
-
-#ifndef NDN_OID_HPP
-#define	NDN_OID_HPP
-
-#include <vector>
-#include <string>
-
-namespace ndn {
-
-class OID {
-public:
-  OID () 
-  {
-  }
-    
-  OID(const std::string& oid);
-
-  OID(const std::vector<int>& oid)
-  : oid_(oid)
-  {
-  }
-
-  const std::vector<int> &
-  getIntegerList() const
-  {
-    return oid_;
-  }
-
-  void
-  setIntegerList(const std::vector<int>& value){
-    oid_ = value;
-  }
-
-  std::string 
-  toString();
-
-  bool operator == (const OID& oid)
-  {
-    return equal(oid);
-  }
-
-  bool operator != (const OID& oid)
-  {
-    return !equal(oid);
-  }
-  
-private:
-  bool equal(const OID& oid);
-
-  std::vector<int> oid_;
-};
-
-}
-
-#endif
diff --git a/include/ndn-cpp/security/certificate/public-key.hpp b/include/ndn-cpp/security/certificate/public-key.hpp
index 7db3f49..fa8724f 100644
--- a/include/ndn-cpp/security/certificate/public-key.hpp
+++ b/include/ndn-cpp/security/certificate/public-key.hpp
@@ -10,7 +10,7 @@
 #define	NDN_PUBLIC_KEY_HPP
 
 #include "../../util/blob.hpp"
-#include "oid.hpp"
+#include "../../encoding/oid.hpp"
 #include "../security-common.hpp"
 
 namespace ndn {
