diff --git a/redfish-core/lib/pcie_slots.hpp b/redfish-core/lib/pcie_slots.hpp
index ece84a3..51a5e69 100644
--- a/redfish-core/lib/pcie_slots.hpp
+++ b/redfish-core/lib/pcie_slots.hpp
@@ -21,7 +21,8 @@
 namespace redfish
 {
 
-inline pcie_slots::SlotTypes dbusSlotTypeToRf(const std::string& slotType)
+inline std::optional<pcie_slots::SlotTypes>
+    dbusSlotTypeToRf(const std::string& slotType)
 {
     if (slotType ==
         "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength")
@@ -65,9 +66,14 @@
     {
         return pcie_slots::SlotTypes::U2;
     }
+    if (slotType ==
+        "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.Unknown")
+    {
+        return pcie_slots::SlotTypes::Invalid;
+    }
 
-    // Unknown or others
-    return pcie_slots::SlotTypes::Invalid;
+    // Unspecified slotType should return an internal error.
+    return std::nullopt;
 }
 
 inline void
@@ -133,13 +139,17 @@
 
     if (slotType != nullptr)
     {
-        pcie_slots::SlotTypes redfishSlotType = dbusSlotTypeToRf(*slotType);
-        if (redfishSlotType == pcie_slots::SlotTypes::Invalid)
+        std::optional<pcie_slots::SlotTypes> redfishSlotType =
+            dbusSlotTypeToRf(*slotType);
+        if (!redfishSlotType)
         {
             messages::internalError(asyncResp->res);
             return;
         }
-        slot["SlotType"] = redfishSlotType;
+        if (*redfishSlotType != pcie_slots::SlotTypes::Invalid)
+        {
+            slot["SlotType"] = *redfishSlotType;
+        }
     }
 
     if (hotPluggable != nullptr)
