diff --git a/src/client-module.cpp b/src/client-module.cpp
index 024c23e..96d4dfe 100644
--- a/src/client-module.cpp
+++ b/src/client-module.cpp
@@ -212,13 +212,7 @@
 }
 
 std::list<std::string>
-ClientModule::onNewResponse(const Data& reply)
-{
-  return onRequestInitResponse(reply, RequestType::NEW);
-}
-
-std::list<std::string>
-ClientModule::onRequestInitResponse(const Data& reply, RequestType requestType)
+ClientModule::onNewRenewRevokeResponse(const Data& reply)
 {
   if (!security::verifySignature(reply, m_ca.m_anchor)) {
     _LOG_ERROR("Cannot verify data signature from " << m_ca.m_caPrefix.toUri());
@@ -278,12 +272,6 @@
   return interest;
 }
 
-std::list<std::string>
-ClientModule::onRevokeResponse(const Data& reply)
-{
-  return onRequestInitResponse(reply, RequestType::REVOKE);
-}
-
 shared_ptr<Interest>
 ClientModule::generateChallengeInterest(const Block& challengeRequest)
 {
diff --git a/src/client-module.hpp b/src/client-module.hpp
index 394c584..e75e190 100644
--- a/src/client-module.hpp
+++ b/src/client-module.hpp
@@ -93,17 +93,11 @@
                       const time::system_clock::TimePoint& notAfter,
                       const Name& identityName = Name(), const shared_ptr<Data>& probeToken = nullptr);
 
-  std::list<std::string>
-  onNewResponse(const Data& reply);
-
   shared_ptr<Interest>
   generateRevokeInterest(const security::v2::Certificate& certificate);
 
   std::list<std::string>
-  onRevokeResponse(const Data& reply);
-
-  std::list<std::string>
-  onRequestInitResponse(const Data& reply, RequestType requestType);
+  onNewRenewRevokeResponse(const Data& reply);
 
   shared_ptr<Interest>
   generateChallengeInterest(const Block& paramTLV);
