diff --git a/update_checker.py b/update_checker.py
index 9aa51340c1914431941844392e62a479b03e4c55..639cd0c9bc51fde109d78626bb5e02df9eb17e51 100755
--- a/update_checker.py
+++ b/update_checker.py
@@ -12,9 +12,10 @@ MAC_URL = 'http://macvendors.co/api/%s'
 def getHardwareModelFromEntry(d):
     hardware_model = "UNKNOWN"
     if d != None:
-        if "hardware" in d:
-            if "model" in d["hardware"]:
-                hardware_model = d["hardware"]["model"]
+        if "nodeinfo" in d:
+            if "hardware" in d:
+                if "model" in d["hardware"]:
+                    hardware_model = d["hardware"]["model"]
     return hardware_model
 
 def ipv62mac(ipv6):
@@ -104,11 +105,13 @@ for download in allFirmwareDownloads:
 
     mac = ipv62mac(r.ipv6)
 
-    if mac in data:
-        d = data[mac]
-        currentRelease = d["software"]["firmware"]["release"]
-        status = d["status"]
-        hostname = d["hostname"]
+    nodes_with_mac = [node for node in data["nodes"] if node["nodeinfo"]["network"]["mac"] == mac]
+
+    if len(nodes_with_mac) == 1:
+        d = nodes_with_mac[0]
+        currentRelease = d["nodeinfo"]["software"]["firmware"]["release"]
+        status = d["online"]
+        hostname = d["nodeinfo"]["hostname"]
         hardware_model = getHardwareModelFromEntry(d)
         if currentRelease < r.release:
             print("%s (%s) %s -> %s Segment %i %s status %s @ %s" % (mac, hostname, currentRelease, r.release, r.segment, hardware_model, status, r.date))