diff --git a/vpd-manager/include/utility/vpd_specific_utility.hpp b/vpd-manager/include/utility/vpd_specific_utility.hpp
index 8493730..ced7ef1 100644
--- a/vpd-manager/include/utility/vpd_specific_utility.hpp
+++ b/vpd-manager/include/utility/vpd_specific_utility.hpp
@@ -583,7 +583,7 @@
 
         const std::vector<std::string>& l_vpdRelatedInterfaces{
             constants::operationalStatusInf, constants::inventoryItemInf,
-            constants::assetInf};
+            constants::assetInf, constants::vpdCollectionInterface};
 
         for (const auto& [l_service, l_interfaceList] : l_getObjectMap)
         {
@@ -621,8 +621,18 @@
                         else if (std::holds_alternative<std::string>(
                                      l_propertyValue))
                         {
-                            l_propertyMap.emplace(l_propertyName,
-                                                  std::string{});
+                            if (l_propertyName.compare("CollectionStatus") ==
+                                constants::STR_CMP_SUCCESS)
+                            {
+                                l_propertyMap.emplace(
+                                    l_propertyName,
+                                    constants::vpdCollectionNotStarted);
+                            }
+                            else
+                            {
+                                l_propertyMap.emplace(l_propertyName,
+                                                      std::string{});
+                            }
                         }
                         else if (std::holds_alternative<bool>(l_propertyValue))
                         {
