diff --git a/thermometer/thermometer.c b/thermometer/thermometer.c
index e78d250..e8da73f 100644
--- a/thermometer/thermometer.c
+++ b/thermometer/thermometer.c
m.suptime = FALSE;
if (flags & TEMP_TYPE) {
- if (len < 16) {
+ uint8_t index;
+
+ if (m.suptime && len >= 16)
+ index = 15;
+ else if (!m.suptime && len >= 9)
+ index = 9;
+ else {
DBG("Can't get temperature type");
return;
}
- type = temptype2str(pdu[15]);
+ type = temptype2str(pdu[index]);
} else if (t->has_type)
type = temptype2str(t->type);
else {