diff --git a/redfish-core/include/utils/query_param.hpp b/redfish-core/include/utils/query_param.hpp
index dc06a3a..0f98763 100644
--- a/redfish-core/include/utils/query_param.hpp
+++ b/redfish-core/include/utils/query_param.hpp
@@ -205,7 +205,7 @@
 // handlers so that handlers don't need to query again.
 inline Query delegate(const QueryCapabilities& queryCapabilities, Query& query)
 {
-    Query delegated;
+    Query delegated{};
     // delegate only
     if (query.isOnly && queryCapabilities.canDelegateOnly)
     {
@@ -376,7 +376,7 @@
 inline std::optional<Query> parseParameters(boost::urls::params_view urlParams,
                                             crow::Response& res)
 {
-    Query ret;
+    Query ret{};
     for (const boost::urls::params_view::value_type& it : urlParams)
     {
         if (it.key == "only")
@@ -700,30 +700,22 @@
         return "";
     }
     std::string str = "?$expand=";
-    bool queryTypeExpected = false;
     switch (query.expandType)
     {
-        case ExpandType::None:
-            return "";
         case ExpandType::Links:
-            queryTypeExpected = true;
             str += '~';
             break;
         case ExpandType::NotLinks:
-            queryTypeExpected = true;
             str += '.';
             break;
         case ExpandType::Both:
-            queryTypeExpected = true;
             str += '*';
             break;
+        case ExpandType::None:
+            return "";
         default:
             return std::nullopt;
     }
-    if (!queryTypeExpected)
-    {
-        return std::nullopt;
-    }
     str += "($levels=";
     str += std::to_string(query.expandLevel - 1);
     str += ')';
