diff --git a/solar_ble.py b/solar_ble.py
index 5d6707d..ee27ba2 100755
--- a/solar_ble.py
+++ b/solar_ble.py
@@ -307,8 +307,13 @@ class Periodical:
             now = time.time()
 
         if (now - self.prev) >= self.interval:
-            self.prev += self.interval
+            skipped, overshoot = divmod(now - self.prev, self.interval)
+            skipped -= 1
+            if skipped:
+                log("Skipped:", skipped, overshoot, now - self.prev, self.interval)
+            self.prev = now - overshoot
             return True
+
         return False