diff --git a/preload/apps/exnostat/__init__.py b/preload/apps/exnostat/__init__.py
index 57c69fc19a1377123c47c1bf8c2b576753526888..60cf16d3bb07f33325053e8ff81b0462e505b0dc 100644
--- a/preload/apps/exnostat/__init__.py
+++ b/preload/apps/exnostat/__init__.py
@@ -100,14 +100,17 @@ def process_scan_report(scan_report):
 
 
 def ble_callback(_):
-    event = sys_ble.get_event()
-    if event == sys_ble.EVENT_SCAN_REPORT:
-        while True:
-            scan_report = sys_ble.get_scan_report()
-            if scan_report == None:
-                break
-            process_scan_report(scan_report)
-        prune()
+    while True:
+        event = sys_ble.get_event()
+        if event == sys_ble.EVENT_NONE:
+            break
+        if event == sys_ble.EVENT_SCAN_REPORT:
+            while True:
+                scan_report = sys_ble.get_scan_report()
+                if scan_report == None:
+                    break
+                process_scan_report(scan_report)
+            prune()
 
 
 def show_stats():