diff --git a/src/daemon/rrset-factory.cpp b/src/daemon/rrset-factory.cpp
index f82e831..4351fcd 100644
--- a/src/daemon/rrset-factory.cpp
+++ b/src/daemon/rrset-factory.cpp
@@ -117,7 +117,6 @@
 
 Rrset
 RrsetFactory::generateNsRrset(const Name& label,
-                              const name::Component& type,
                               const uint64_t version,
                               time::seconds ttl,
                               const ndn::DelegationList& delegations)
@@ -129,7 +128,7 @@
   if (ttl == DEFAULT_RR_TTL)
     ttl = m_zone.getTtl();
 
-  std::pair<Rrset, Name> rrsetAndName = generateBaseRrset(label, type, version, ttl);
+  std::pair<Rrset, Name> rrsetAndName = generateBaseRrset(label, label::NS_RR_TYPE, version, ttl);
   const Name& name = rrsetAndName.second;
   Rrset& rrset = rrsetAndName.first;
 
@@ -145,7 +144,6 @@
 
 Rrset
 RrsetFactory::generateTxtRrset(const Name& label,
-                               const name::Component& type,
                                const uint64_t version,
                                time::seconds ttl,
                                const std::vector<std::string>& strings)
@@ -159,7 +157,7 @@
 
   Name name;
   Rrset rrset;
-  std::tie(rrset, name) = generateBaseRrset(label, type, version, ttl);
+  std::tie(rrset, name) = generateBaseRrset(label, label::TXT_RR_TYPE, version, ttl);
 
   std::vector<Block> rrs;
   for (const auto& item : strings) {
@@ -180,7 +178,6 @@
 
 Rrset
 RrsetFactory::generateCertRrset(const Name& label,
-                                const name::Component& type,
                                 const uint64_t version,
                                 time::seconds ttl,
                                 const ndn::security::v2::Certificate& cert)
@@ -194,7 +191,7 @@
 
   Name name;
   Rrset rrset;
-  std::tie(rrset, name) = generateBaseRrset(label, type, version, ttl);
+  std::tie(rrset, name) = generateBaseRrset(label, label::APPCERT_RR_TYPE, version, ttl);
 
   Data data(name);
   data.setContent(cert.wireEncode());
@@ -208,7 +205,6 @@
 
 Rrset
 RrsetFactory::generateAuthRrset(const Name& label,
-                                const name::Component& type,
                                 const uint64_t version,
                                 time::seconds ttl)
 {
@@ -221,7 +217,7 @@
 
   Name name;
   Rrset rrset;
-  std::tie(rrset, name) = generateBaseRrset(label, type, version, ttl);
+  std::tie(rrset, name) = generateBaseRrset(label, label::NS_RR_TYPE, version, ttl);
 
   Data data(name);
 
diff --git a/src/daemon/rrset-factory.hpp b/src/daemon/rrset-factory.hpp
index 89f5b98..59b3b09 100644
--- a/src/daemon/rrset-factory.hpp
+++ b/src/daemon/rrset-factory.hpp
@@ -61,27 +61,23 @@
 
   Rrset
   generateNsRrset(const Name& label,
-                  const name::Component& type,
                   const uint64_t version,
                   time::seconds ttl,
                   const ndn::DelegationList& delegations);
 
   Rrset
   generateTxtRrset(const Name& label,
-                   const name::Component& type,
                    const uint64_t version,
                    time::seconds ttl,
                    const std::vector<std::string>& contents);
 
   Rrset
   generateAuthRrset(const Name& label,
-                    const name::Component& type,
                     const uint64_t version,
                     time::seconds ttl);
 
   Rrset
   generateCertRrset(const Name& label,
-                    const name::Component& type,
                     const uint64_t version,
                     time::seconds ttl,
                     const ndn::security::v2::Certificate& cert);
