diff --git a/meson_options.txt b/meson_options.txt
index 5b4419d..6bdb615 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -44,4 +44,4 @@
 option ('insecure-disable-xss', type : 'feature', value : 'disabled', description : 'Disable XSS preventions')
 option ('insecure-tftp-update', type : 'feature', value : 'disabled', description : '''Enable TFTP based firmware update transactions through Redfish UpdateService.SimpleUpdate.''')
 option ('insecure-push-style-notification',type : 'feature', value : 'disabled', description : 'Enable HTTP push style eventing feature')
-option ('insecure-enable-redfish-query', type : 'feature', value : 'disabled', description : 'Enables Redfish query parameters.  This feature is experimental, and has not been tested against the full limits of user-facing behavior.  It is not recommended to enable on production systems at this time.')
+option ('insecure-enable-redfish-query', type : 'feature', value : 'disabled', description : 'Enables Redfish expand query parameter.  This feature is experimental, and has not been tested against the full limits of user-facing behavior.  It is not recommended to enable on production systems at this time.  Other query parameters such as only are not controlled by this option.')
diff --git a/redfish-core/include/query.hpp b/redfish-core/include/query.hpp
index 4dd03c6..0647a61 100644
--- a/redfish-core/include/query.hpp
+++ b/redfish-core/include/query.hpp
@@ -29,11 +29,6 @@
         return false;
     }
 
-    // If query parameters aren't enabled, do nothing.
-    if constexpr (!bmcwebInsecureEnableQueryParams)
-    {
-        return true;
-    }
     std::optional<query_param::Query> queryOpt =
         query_param::parseParameters(req.urlView.params(), res);
     if (queryOpt == std::nullopt)
diff --git a/redfish-core/include/utils/query_param.hpp b/redfish-core/include/utils/query_param.hpp
index 60e572f..67595cc 100644
--- a/redfish-core/include/utils/query_param.hpp
+++ b/redfish-core/include/utils/query_param.hpp
@@ -139,7 +139,7 @@
             }
             ret.isOnly = true;
         }
-        else if (key == "$expand")
+        else if (key == "$expand" && bmcwebInsecureEnableQueryParams)
         {
             if (!getExpandType(value, ret))
             {
diff --git a/redfish-core/include/utils/query_param_test.cpp b/redfish-core/include/utils/query_param_test.cpp
index 7a2da71..1a0cf15 100644
--- a/redfish-core/include/utils/query_param_test.cpp
+++ b/redfish-core/include/utils/query_param_test.cpp
@@ -92,8 +92,16 @@
     using redfish::query_param::parseParameters;
     using redfish::query_param::Query;
     std::optional<Query> query = parseParameters(ret->params(), res);
-    ASSERT_TRUE(query != std::nullopt);
-    EXPECT_TRUE(query->expandType == redfish::query_param::ExpandType::Both);
+    if constexpr (bmcwebInsecureEnableQueryParams)
+    {
+        ASSERT_NE(query, std::nullopt);
+        EXPECT_TRUE(query->expandType ==
+                    redfish::query_param::ExpandType::Both);
+    }
+    else
+    {
+        ASSERT_EQ(query, std::nullopt);
+    }
 }
 
 TEST(QueryParams, ParseParametersUnexpectedGetsIgnored)
