diff --git a/redfish-core/include/utils/query_param.hpp b/redfish-core/include/utils/query_param.hpp
index 889a684..0e86ec5 100644
--- a/redfish-core/include/utils/query_param.hpp
+++ b/redfish-core/include/utils/query_param.hpp
@@ -16,6 +16,7 @@
 {
 namespace query_param
 {
+inline constexpr size_t maxEntriesPerPage = 1000;
 
 enum class ExpandType : uint8_t
 {
@@ -38,7 +39,7 @@
     size_t skip = 0;
 
     // Top
-    size_t top = std::numeric_limits<size_t>::max();
+    size_t top = maxEntriesPerPage;
 };
 
 // The struct defines how resource handlers in redfish-core/lib/ can handle
@@ -87,7 +88,7 @@
     if (queryCapabilities.canDelegateTop)
     {
         delegated.top = query.top;
-        query.top = std::numeric_limits<size_t>::max();
+        query.top = maxEntriesPerPage;
     }
 
     // delegate skip
@@ -174,7 +175,6 @@
     return getNumericParam(value, query.skip);
 }
 
-static constexpr size_t maxEntriesPerPage = 1000;
 inline QueryError getTopParam(std::string_view value, Query& query)
 {
     QueryError ret = getNumericParam(value, query.top);
@@ -607,7 +607,7 @@
         return;
     }
 
-    if (query.top != std::numeric_limits<size_t>::max() || query.skip != 0)
+    if (query.top <= maxEntriesPerPage || query.skip != 0)
     {
         processTopAndSkip(query, intermediateResponse);
     }
diff --git a/redfish-core/include/utils/query_param_test.cpp b/redfish-core/include/utils/query_param_test.cpp
index 7520f3e..077447f 100644
--- a/redfish-core/include/utils/query_param_test.cpp
+++ b/redfish-core/include/utils/query_param_test.cpp
@@ -75,7 +75,7 @@
         .top = 42,
     };
     Query delegated = delegate(QueryCapabilities{}, query);
-    EXPECT_EQ(delegated.top, std::numeric_limits<size_t>::max());
+    EXPECT_EQ(delegated.top, maxEntriesPerPage);
     EXPECT_EQ(query.top, 42);
 }
 
@@ -89,7 +89,7 @@
     };
     Query delegated = delegate(capabilities, query);
     EXPECT_EQ(delegated.top, 42);
-    EXPECT_EQ(query.top, std::numeric_limits<size_t>::max());
+    EXPECT_EQ(query.top, maxEntriesPerPage);
 }
 
 TEST(Delegate, SkipNegative)
