diff --git a/mesh/node.c b/mesh/node.c
index 3c206dc..b906754 100644
--- a/mesh/node.c
+++ b/mesh/node.c
len -= 2;
}
while (len >= 4 && v--) {
- mod_id = get_le16(data);
+ mod_id = get_le16(data + 2);
vendor_id = get_le16(data);
mod_id |= (vendor_id << 16);
if (!node_set_model(node, ele->index, mod_id))
diff --git a/mesh/prov-db.c b/mesh/prov-db.c
index a012ef8..9add3f7 100644
--- a/mesh/prov-db.c
+++ b/mesh/prov-db.c
}
while (len >= 4 && v--) {
- mod_id = get_le16(data);
+ mod_id = get_le16(data + 2);
vendor_id = get_le16(data);
mod_id |= (vendor_id << 16);
data += 4;