diff --git a/include/IpmbSensor.hpp b/include/IpmbSensor.hpp
index 1d124b1..ff15fa6 100644
--- a/include/IpmbSensor.hpp
+++ b/include/IpmbSensor.hpp
@@ -34,6 +34,7 @@
     byte3,
     elevenBit,
     elevenBitShift,
+    linearElevenBit
 };
 
 namespace ipmi
diff --git a/src/IpmbSensor.cpp b/src/IpmbSensor.cpp
index 0f35353..2d40dc3 100644
--- a/src/IpmbSensor.cpp
+++ b/src/IpmbSensor.cpp
@@ -155,7 +155,7 @@
         initData = {0x57,          0x01, 0x00, 0x14, hostSMbusIndex,
                     deviceAddress, 0x00, 0x00, 0x00, 0x00,
                     0x02,          0x00, 0x00, 0x00};
-        readingFormat = ReadingFormat::elevenBit;
+        readingFormat = ReadingFormat::linearElevenBit;
     }
     else if (type == IpmbType::IR38363VR)
     {
@@ -277,9 +277,6 @@
             }
 
             int16_t value = ((data[4] << 8) | data[3]);
-            constexpr const size_t shift = 16 - 11; // 11bit into 16bit
-            value <<= shift;
-            value >>= shift;
             resp = value;
             return true;
         }
@@ -298,6 +295,25 @@
             resp = ((data[4] << 8) | data[3]) >> 3;
             return true;
         }
+        case (ReadingFormat::linearElevenBit):
+        {
+            if (data.size() < 5)
+            {
+                if (!errCount)
+                {
+                    std::cerr << "Invalid data length returned for " << name
+                              << "\n";
+                }
+                return false;
+            }
+
+            int16_t value = ((data[4] << 8) | data[3]);
+            constexpr const size_t shift = 16 - 11; // 11bit into 16bit
+            value <<= shift;
+            value >>= shift;
+            resp = value;
+            return true;
+        }
         default:
             throw std::runtime_error("Invalid reading type");
     }
