diff --git a/redfish-core/include/utils/collection.hpp b/redfish-core/include/utils/collection.hpp
index 4511f61..c5d603a 100644
--- a/redfish-core/include/utils/collection.hpp
+++ b/redfish-core/include/utils/collection.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <boost/container/flat_map.hpp>
+#include <human_sort.hpp>
 
 #include <string>
 #include <vector>
@@ -46,9 +46,8 @@
                 messages::internalError(aResp->res);
                 return;
             }
-            nlohmann::json& members = aResp->res.jsonValue["Members"];
-            members = nlohmann::json::array();
 
+            std::vector<std::string> pathNames;
             for (const auto& object : objects)
             {
                 sdbusplus::message::object_path path(object);
@@ -57,6 +56,15 @@
                 {
                     continue;
                 }
+                pathNames.push_back(leaf);
+            }
+            std::sort(pathNames.begin(), pathNames.end(),
+                      AlphanumLess<std::string>());
+
+            nlohmann::json& members = aResp->res.jsonValue["Members"];
+            members = nlohmann::json::array();
+            for (const std::string& leaf : pathNames)
+            {
                 std::string newPath = collectionPath;
                 newPath += '/';
                 newPath += leaf;
