diff --git a/main.py b/main.py
index 332281e1c02eb80389c9c3fdb976cc6518edf66b..79c3e59a94f6973578f58233c1db30f20bcd8b7f 100755
--- a/main.py
+++ b/main.py
@@ -85,7 +85,10 @@ class DeviceWrapper:
         if self.is_connected:
             logging.debug(
                 'Requesting updated environmental data from %s', self.serial)
-            self.libdyson.request_environmental_data()
+            try:
+                self.libdyson.request_environmental_data()
+            except AttributeError:
+                logging.error('Race with a disconnect? Skipping an iteration.')
             self._refresh_timer()
         else:
             logging.debug('Device %s is disconnected.', self.serial)