diff --git a/include/cpu.hpp b/include/cpu.hpp
index 5c8ca86..c2edca9 100644
--- a/include/cpu.hpp
+++ b/include/cpu.hpp
@@ -20,6 +20,7 @@
 #include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
 #include <xyz/openbmc_project/Inventory/Decorator/Revision/server.hpp>
 #include <xyz/openbmc_project/Inventory/Item/Cpu/server.hpp>
+#include <xyz/openbmc_project/Inventory/Item/server.hpp>
 
 namespace phosphor
 {
@@ -32,6 +33,7 @@
 using asset =
     sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset;
 using processor = sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cpu;
+using Item = sdbusplus::xyz::openbmc_project::Inventory::server::Item;
 
 // Definition follow smbios spec DSP0134 3.0.0
 static const std::map<uint8_t, const char*> familyTable = {
@@ -88,7 +90,7 @@
                          std::nullopt,
                          std::nullopt};
 
-class Cpu : sdbusplus::server::object_t<processor, asset, rev>
+class Cpu : sdbusplus::server::object_t<processor, asset, rev, Item>
 {
   public:
     Cpu() = delete;
@@ -100,8 +102,8 @@
 
     Cpu(sdbusplus::bus::bus& bus, const std::string& objPath,
         const uint8_t& cpuId, uint8_t* smbiosTableStorage) :
-        sdbusplus::server::object_t<processor, asset, rev>(bus,
-                                                           objPath.c_str()),
+        sdbusplus::server::object_t<processor, asset, rev, Item>(
+            bus, objPath.c_str()),
         cpuNum(cpuId), storage(smbiosTableStorage)
     {
         infoUpdate();
diff --git a/src/cpu.cpp b/src/cpu.cpp
index 90c1191..9eb90f4 100644
--- a/src/cpu.cpp
+++ b/src/cpu.cpp
@@ -110,8 +110,17 @@
 
     auto cpuInfo = reinterpret_cast<struct ProcessorInfo*>(dataIn);
 
-    socket(cpuInfo->socketDesignation, cpuInfo->length,
-           dataIn); // offset 4h
+    socket(cpuInfo->socketDesignation, cpuInfo->length, dataIn); // offset 4h
+
+    constexpr uint32_t socketPopulatedMask = 1 << 6;
+    if ((cpuInfo->status & socketPopulatedMask) == 0)
+    {
+        // Don't attempt to fill in any other details if the CPU is not present.
+        present(false);
+        return;
+    }
+    present(true);
+
     // this class is for type CPU  //offset 5h
     family(cpuInfo->family); // offset 6h
     manufacturer(cpuInfo->manufacturer, cpuInfo->length,
