diff --git a/include/dimm.hpp b/include/dimm.hpp
index 7d69a29..79da4cf 100644
--- a/include/dimm.hpp
+++ b/include/dimm.hpp
@@ -19,6 +19,7 @@
 
 #include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
 #include <xyz/openbmc_project/Inventory/Item/Dimm/server.hpp>
+#include <xyz/openbmc_project/Inventory/Item/server.hpp>
 
 namespace phosphor
 {
@@ -33,7 +34,9 @@
     sdbusplus::server::object::object<
         sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>,
     sdbusplus::server::object::object<
-        sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>
+        sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>,
+    sdbusplus::server::object::object<
+        sdbusplus::xyz::openbmc_project::Inventory::server::Item>
 {
   public:
     Dimm() = delete;
@@ -52,6 +55,9 @@
         sdbusplus::server::object::object<
             sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
                 Asset>(bus, objPath.c_str()),
+        sdbusplus::server::object::object<
+            sdbusplus::xyz::openbmc_project::Inventory::server::Item>(
+            bus, objPath.c_str()),
         dimmNum(dimmId), storage(smbiosTableStorage)
     {
         memoryInfoUpdate();
@@ -66,6 +72,7 @@
     std::string memoryTypeDetail(std::string value) override;
     uint16_t maxMemorySpeedInMhz(uint16_t value) override;
     std::string manufacturer(std::string value) override;
+    bool present(bool value) override;
     std::string serialNumber(std::string value) override;
     std::string partNumber(std::string value) override;
     uint8_t memoryAttributes(uint8_t value) override;
diff --git a/src/dimm.cpp b/src/dimm.cpp
index 71123d2..a1763dc 100644
--- a/src/dimm.cpp
+++ b/src/dimm.cpp
@@ -171,7 +171,18 @@
 {
     std::string result = positionToString(positionNum, structLen, dataIn);
 
+    bool val = true;
+    if (result == "NO DIMM")
+    {
+        val = false;
+
+        // No dimm presence so making manufacturer value as "" (instead of
+        // NO DIMM - as there won't be any manufacturer for DIMM which is not
+        // present).
+        result = "";
+    }
     manufacturer(result);
+    present(val);
 }
 
 std::string Dimm::manufacturer(std::string value)
@@ -180,6 +191,12 @@
         Asset::manufacturer(value);
 }
 
+bool Dimm::present(bool value)
+{
+    return sdbusplus::xyz::openbmc_project::Inventory::server::Item::present(
+        value);
+}
+
 void Dimm::dimmSerialNum(const uint8_t positionNum, const uint8_t structLen,
                          uint8_t* dataIn)
 {
