diff --git a/redfish-core/lib/pcie.hpp b/redfish-core/lib/pcie.hpp
index 195ec87..e442c8e 100644
--- a/redfish-core/lib/pcie.hpp
+++ b/redfish-core/lib/pcie.hpp
@@ -416,16 +416,15 @@
     const std::string& pcieDeviceId,
     const dbus::utility::DBusPropertiesMap& pcieDevProperties)
 {
-    const std::string* deviceType = nullptr;
     const std::string* generationInUse = nullptr;
     const std::string* generationSupported = nullptr;
     const size_t* lanesInUse = nullptr;
     const size_t* maxLanes = nullptr;
 
     const bool success = sdbusplus::unpackPropertiesNoThrow(
-        dbus_utils::UnpackErrorPrinter(), pcieDevProperties, "DeviceType",
-        deviceType, "GenerationInUse", generationInUse, "GenerationSupported",
-        generationSupported, "LanesInUse", lanesInUse, "MaxLanes", maxLanes);
+        dbus_utils::UnpackErrorPrinter(), pcieDevProperties, "GenerationInUse",
+        generationInUse, "GenerationSupported", generationSupported,
+        "LanesInUse", lanesInUse, "MaxLanes", maxLanes);
 
     if (!success)
     {
@@ -433,11 +432,6 @@
         return;
     }
 
-    if (deviceType != nullptr && !deviceType->empty())
-    {
-        asyncResp->res.jsonValue["PCIeInterface"]["DeviceType"] = *deviceType;
-    }
-
     if (generationInUse != nullptr)
     {
         std::optional<pcie_device::PCIeTypes> redfishGenerationInUse =
