diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index ff429b6..2fd0fbe 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -398,6 +398,11 @@
     std::string connection;
     std::string path;
 
+    if (sensnum == reservedSensorNumber)
+    {
+        return ipmi::responseInvalidFieldRequest();
+    }
+
     auto status = getSensorConnection(ctx, sensnum, connection, path);
     if (status)
     {
@@ -574,6 +579,11 @@
 {
     constexpr uint8_t thresholdMask = 0xFF;
 
+    if (sensorNum == reservedSensorNumber)
+    {
+        return ipmi::responseInvalidFieldRequest();
+    }
+
     if (reserved)
     {
         return ipmi::responseInvalidFieldRequest();
@@ -796,6 +806,11 @@
     std::string connection;
     std::string path;
 
+    if (sensorNumber == reservedSensorNumber)
+    {
+        return ipmi::responseInvalidFieldRequest();
+    }
+
     auto status = getSensorConnection(ctx, sensorNumber, connection, path);
     if (status)
     {
@@ -884,6 +899,11 @@
     uint8_t deassertionEnabledLsb = 0;
     uint8_t deassertionEnabledMsb = 0;
 
+    if (sensorNum == reservedSensorNumber)
+    {
+        return ipmi::responseInvalidFieldRequest();
+    }
+
     auto status = getSensorConnection(ctx, sensorNum, connection, path);
     if (status)
     {
