diff --git a/platypush/backend/sensor/__init__.py b/platypush/backend/sensor/__init__.py
index 3902de87..f265ccf7 100644
--- a/platypush/backend/sensor/__init__.py
+++ b/platypush/backend/sensor/__init__.py
@@ -82,15 +82,26 @@ class SensorBackend(Backend):
         if not self.plugin:
             raise NotImplementedError('No plugin specified')
 
-        plugin = get_plugin(self.plugin)
-        data = plugin.get_data(**self.plugin_args).output
+        reload = False
+        success = False
+        data = None
 
-        if self.enabled_sensors:
-            data = {
-                sensor: data[sensor]
-                for sensor, enabled in self.enabled_sensors.items()
-                if enabled and sensor in data
-            }
+        while not success:
+            try:
+                plugin = get_plugin(self.plugin, reload=reload)
+                data = plugin.get_data(**self.plugin_args).output
+            except Exception as e:
+                self.logger.warning('Unexpected exception while getting data: {}'.format(str(e)))
+                self.logger.exception(e)
+                reload = True
+                time.sleep(5)
+
+            if self.enabled_sensors:
+                data = {
+                    sensor: data[sensor]
+                    for sensor, enabled in self.enabled_sensors.items()
+                    if enabled and sensor in data
+                }
 
         return data