diff --git a/src/pcieslot.cpp b/src/pcieslot.cpp
index 4b109d0..63d7f91 100644
--- a/src/pcieslot.cpp
+++ b/src/pcieslot.cpp
@@ -45,7 +45,7 @@
     auto pcieInfo = reinterpret_cast<struct SystemSlotInfo*>(dataIn);
 
     pcieGeneration(pcieInfo->slotType);
-    pcieType(pcieInfo->slotType);
+    pcieType(pcieInfo->slotType, pcieInfo->slotLength);
     pcieLaneSize(pcieInfo->slotDataBusWidth);
     pcieIsHotPluggable(pcieInfo->characteristics2);
     pcieLocation(pcieInfo->slotDesignation, pcieInfo->length, dataIn);
@@ -75,17 +75,28 @@
     }
 }
 
-void Pcie::pcieType(const uint8_t type)
+void Pcie::pcieType(const uint8_t type, const uint8_t slotLength)
 {
-    std::map<uint8_t, PCIeType>::const_iterator it = pcieTypeTable.find(type);
-    if (it == pcieTypeTable.end())
+    // Try to find PCIeType in the main table
+    auto it = pcieTypeTable.find(type);
+    PCIeType pcieSlotType = PCIeType::Unknown;
+
+    if (it != pcieTypeTable.end())
     {
-        PCIeSlot::slotType(PCIeType::Unknown);
+        pcieSlotType = it->second;
     }
     else
     {
-        PCIeSlot::slotType(it->second);
+        // If not found in `pcieTypeTable`, check `PCIeTypeByLength`
+        auto slotIt = PCIeTypeByLength.find(slotLength);
+        if (slotIt != PCIeTypeByLength.end())
+        {
+            pcieSlotType = slotIt->second;
+        }
     }
+
+    // Set the slot type
+    PCIeSlot::slotType(pcieSlotType);
 }
 
 void Pcie::pcieLaneSize(const uint8_t width)
