diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index 3358b83..9064ecc 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -488,6 +488,7 @@
     sd_bus *bus = ipmid_get_sd_bus_connection();
     sd_bus_message *reply = NULL;
     int reading = 0;
+    char* assertion = NULL;
 
     printf("IPMI GET_SENSOR_READING [0x%02x]\n",reqptr->sennum);
 
@@ -542,6 +543,39 @@
             resp->indication[1] = 0;
             break;
 
+        //TODO openbmc/openbmc#2154 Move this sensor to right place.
+        case 0xCA:
+            r = sd_bus_get_property(bus,a.bus, a.path, a.interface, "value", NULL, &reply, "s");
+            if (r < 0) {
+                fprintf(stderr, "Failed to call sd_bus_get_property:%d,  %s\n", r, strerror(-r));
+                fprintf(stderr, "Bus: %s, Path: %s, Interface: %s\n",
+                        a.bus, a.path, a.interface);
+                break;
+            }
+
+            r = sd_bus_message_read(reply, "s", &assertion);
+            if (r < 0) {
+                fprintf(stderr, "Failed to read sensor: %s\n", strerror(-r));
+                break;
+            }
+
+            rc = IPMI_CC_OK;
+            *data_len=sizeof(sensorreadingresp_t);
+
+            resp->value         = 0;
+            resp->operation     = 0;
+            if (strcmp(assertion,"Enabled") == 0)
+            {
+                resp->indication[0] = 0x02;
+            }
+            else
+            {
+                resp->indication[0] = 0x1;
+            }
+            resp->indication[1] = 0;
+            free(assertion);
+            break;
+
         case IPMI_SENSOR_TEMP:
         case IPMI_SENSOR_VOLTAGE:
         case IPMI_SENSOR_CURRENT:
