diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index 4933afb..1aa5181 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -477,7 +477,7 @@
 {
     sensor_data_t *reqptr = (sensor_data_t*)request;
     ipmi_ret_t rc = IPMI_CC_SENSOR_INVALID;
-    uint8_t type;
+    uint8_t type = 0;
     sensorreadingresp_t *resp = (sensorreadingresp_t*) response;
     int r;
     dbus_interface_t a;
@@ -489,19 +489,22 @@
 
     r = find_openbmc_path(reqptr->sennum, &a);
 
-    if (r < 0) {
+    if (r < 0)
+    {
         fprintf(stderr, "Failed to find Sensor 0x%02x\n", reqptr->sennum);
-        return IPMI_CC_SENSOR_INVALID;
     }
+    else
+    {
+        type = get_type_from_interface(a);
+        if(type == 0) {
+            fprintf(stderr, "Failed to find Sensor 0x%02x\n", reqptr->sennum);
+            return IPMI_CC_SENSOR_INVALID;
+        }
 
-    type = get_type_from_interface(a);
-    if(type == 0) {
-        fprintf(stderr, "Failed to find Sensor 0x%02x\n", reqptr->sennum);
-        return IPMI_CC_SENSOR_INVALID;
+        fprintf(stderr, "Bus: %s, Path: %s, Interface: %s\n", a.bus, a.path,
+                        a.interface);
     }
 
-    fprintf(stderr, "Bus: %s, Path: %s, Interface: %s\n", a.bus, a.path, a.interface);
-
     *data_len=0;
 
     int64_t raw_value;
