diff --git a/recipes-phosphor/interfaces/bmcweb/0018-Processor-Implement-Efficient-expand.patch b/recipes-phosphor/interfaces/bmcweb/0018-Processor-Implement-Efficient-expand.patch
index 9534f8f..ac0c4ba 100644
--- a/recipes-phosphor/interfaces/bmcweb/0018-Processor-Implement-Efficient-expand.patch
+++ b/recipes-phosphor/interfaces/bmcweb/0018-Processor-Implement-Efficient-expand.patch
@@ -1,4 +1,4 @@
-From 51590b81859230bbdbe35af896da20bad51ac73e Mon Sep 17 00:00:00 2001
+From dd7699f5f6c96ec094dc2e429d7087b16c3393ed Mon Sep 17 00:00:00 2001
 From: Nikhil Namjoshi <nikhilnamjoshi@google.com>
 Date: Mon, 22 Aug 2022 16:59:17 +0000
 Subject: [PATCH] Processor : Implement Efficient expand
@@ -149,12 +149,14 @@
 
 Change-Id: Id6f5a63a96e5edf88dcfd35a03d2d11ffd107f9a
 Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
+
+%% original patch: 0018-Processor-Implement-Efficient-expand.patch
 ---
- redfish-core/lib/processor.hpp | 452 +++++++++++++++++++++++++++++++--
- 1 file changed, 436 insertions(+), 16 deletions(-)
+ redfish-core/lib/processor.hpp | 461 +++++++++++++++++++++++++++++++--
+ 1 file changed, 445 insertions(+), 16 deletions(-)
 
 diff --git a/redfish-core/lib/processor.hpp b/redfish-core/lib/processor.hpp
-index a5c7dcd1..b38031a8 100644
+index a5c7dcd1..b621586e 100644
 --- a/redfish-core/lib/processor.hpp
 +++ b/redfish-core/lib/processor.hpp
 @@ -35,10 +35,29 @@
@@ -278,7 +280,7 @@
                      return;
                  }
                  // Object not found
-@@ -1458,6 +1503,366 @@ inline void
+@@ -1458,6 +1503,375 @@ inline void
                                            cpuPath.c_str());
  }
  
@@ -612,6 +614,15 @@
 +            cpus.push_back(cpuId);
 +        }
 +
++        // If no cpus found, return
++        if (cpus.size() == 0)
++        {
++            BMCWEB_LOG_WARNING << "D-Bus CPU count was somehow empty";
++            aResp->res.jsonValue["Members@odata.count"] = 0;
++            aResp->res.jsonValue["Members"] = nlohmann::json::array();
++            return;
++        }
++
 +        // Get numerically sorted list of cpu IDs
 +        std::sort(cpus.begin(), cpus.end(), AlphanumLess<std::string>());
 +
@@ -645,7 +656,7 @@
  /**
   * Request all the properties for the given D-Bus object and fill out the
   * related entries in the Redfish OperatingConfig response.
-@@ -1919,7 +2324,12 @@ inline void requestRoutesProcessorCollection(App& app)
+@@ -1919,7 +2333,12 @@ inline void requestRoutesProcessorCollection(App& app)
              [&app](const crow::Request& req,
                     const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
                     const std::string& systemName) {
@@ -659,7 +670,7 @@
          {
              return;
          }
-@@ -1941,11 +2351,21 @@ inline void requestRoutesProcessorCollection(App& app)
+@@ -1941,11 +2360,21 @@ inline void requestRoutesProcessorCollection(App& app)
          asyncResp->res.jsonValue["@odata.id"] =
              "/redfish/v1/Systems/system/Processors";
  
@@ -682,7 +693,7 @@
          });
  }
  
-@@ -1980,7 +2400,7 @@ inline void requestRoutesProcessor(App& app)
+@@ -1980,7 +2409,7 @@ inline void requestRoutesProcessor(App& app)
  
          getProcessorObject(asyncResp, processorId,
                             std::bind_front(getProcessorData, asyncResp,
@@ -692,5 +703,5 @@
  
      BMCWEB_ROUTE(app, "/redfish/v1/Systems/<str>/Processors/<str>/")
 -- 
-2.39.1.581.gbfd45094c4-goog
+2.40.0.577.gac1e443424-goog
 
