diff --git a/src/ca-config.cpp b/src/ca-config.cpp
index 0f4edc8..06b5c68 100644
--- a/src/ca-config.cpp
+++ b/src/ca-config.cpp
@@ -88,14 +88,13 @@
   return result;
 }
 
-std::list<ClientCaItem>
+std::list<Name>
 CaConfig::parseRelatedCaList(const JsonSection& section)
 {
-  std::list<ClientCaItem> result;
+  std::list<Name> result;
   auto it = section.begin();
   for (; it != section.end(); it++) {
-    ClientCaItem item;
-    item.m_caName = Name(it->second.get<std::string>("ca-prefix"));
+    Name item(it->second.get<std::string>("ca-prefix"));
     result.push_back(item);
   }
   return result;
diff --git a/src/ca-config.hpp b/src/ca-config.hpp
index b117ac3..b80558c 100644
--- a/src/ca-config.hpp
+++ b/src/ca-config.hpp
@@ -35,7 +35,7 @@
   Name m_caName;
 
   // related CAs
-  std::list<ClientCaItem> m_relatedCaList;
+  std::list<Name> m_relatedCaList;
 
   // essential config
   time::seconds m_freshnessPeriod;
@@ -79,7 +79,7 @@
   std::list<std::string>
   parseChallengeList(const JsonSection& configSection);
 
-  std::list<ClientCaItem>
+  std::list<Name>
   parseRelatedCaList(const JsonSection& section);
 
 public:
diff --git a/tests/unit-tests/ca-config.t.cpp b/tests/unit-tests/ca-config.t.cpp
index 24b8536..1039e97 100644
--- a/tests/unit-tests/ca-config.t.cpp
+++ b/tests/unit-tests/ca-config.t.cpp
@@ -49,9 +49,9 @@
 
       // check related ca
       auto relatedCaA = item.m_relatedCaList.front();
-      BOOST_CHECK_EQUAL(relatedCaA.m_caName.toUri(), "/ndn/edu/arizona");
+      BOOST_CHECK_EQUAL(relatedCaA.toUri(), "/ndn/edu/arizona");
       auto relatedCaB = item.m_relatedCaList.back();
-      BOOST_CHECK_EQUAL(relatedCaB.m_caName.toUri(), "/ndn/edu/memphis");
+      BOOST_CHECK_EQUAL(relatedCaB.toUri(), "/ndn/edu/memphis");
 
       BOOST_CHECK_EQUAL(count, 0);
       count++;
