diff --git a/tools/ndncert-ca-server.cpp b/tools/ndncert-ca-server.cpp
index 82f7c70..59f4d44 100644
--- a/tools/ndncert-ca-server.cpp
+++ b/tools/ndncert-ca-server.cpp
@@ -83,14 +83,10 @@
 
   if (wantRepoOut) {
       ca.setStatusUpdateCallback([&] (const CertificateRequest& request) {
-          if (request.m_status == Status::SUCCESS && request.m_requestType == REQUEST_TYPE_NEW) {
+          if (request.m_status == Status::SUCCESS && request.m_requestType == RequestType::NEW) {
             auto issuedCert = request.m_cert;
             boost::asio::ip::tcp::iostream requestStream;
-#if BOOST_VERSION >= 106700
             requestStream.expires_after(std::chrono::seconds(3));
-#else
-            requestStream.expires_from_now(boost::posix_time::seconds(3));
-#endif // BOOST_VERSION >= 106700
             requestStream.connect(repoHost, repoPort);
             if (!requestStream) {
               std::cerr << "ERROR: Cannot publish certificate to repo-ng"
diff --git a/tools/ndncert-ca-status.cpp b/tools/ndncert-ca-status.cpp
index cf1c862..6d98f86 100644
--- a/tools/ndncert-ca-status.cpp
+++ b/tools/ndncert-ca-status.cpp
@@ -76,7 +76,7 @@
 
   for (const auto& entry : requestList) {
     std::cerr << "Request ID: " << entry.m_requestId << "\t"
-              << "Request Type" << entry.m_requestType << "\t"
+              << "Request Type" << requestTypeToString(entry.m_requestType) << "\t"
               << "Current Status: " << statusToString(entry.m_status) << std::endl
               << "Applying CA: " << entry.m_caPrefix << std::endl
               << "Applying for key: " << entry.m_cert.getName() << std::endl
diff --git a/tools/ndncert-client.cpp b/tools/ndncert-client.cpp
index 4b3b38a..096ceb2 100644
--- a/tools/ndncert-client.cpp
+++ b/tools/ndncert-client.cpp
@@ -18,18 +18,17 @@
  * See AUTHORS.md for complete list of ndncert authors and contributors.
  */
 
+#include "challenge-module.hpp"
+#include "client-module.hpp"
+#include "protocol-detail/info.hpp"
+#include <ndn-cxx/security/verification-helpers.hpp>
 #include <boost/asio.hpp>
 #include <boost/program_options/options_description.hpp>
 #include <boost/program_options/parsers.hpp>
 #include <boost/program_options/variables_map.hpp>
 #include <iostream>
-#include <ndn-cxx/security/verification-helpers.hpp>
 #include <string>
 
-#include "challenge-module.hpp"
-#include "client-module.hpp"
-#include "protocol-detail/info.hpp"
-
 namespace ndn {
 namespace ndncert {
 
