diff --git a/tangostationcontrol/tangostationcontrol/common/lofar_logging.py b/tangostationcontrol/tangostationcontrol/common/lofar_logging.py
index 0a7395644cd57e6773b7d8c01fadc63546c2a019..875bdba3ebbbdd06218d4a60dc5e910da01da555 100644
--- a/tangostationcontrol/tangostationcontrol/common/lofar_logging.py
+++ b/tangostationcontrol/tangostationcontrol/common/lofar_logging.py
@@ -251,7 +251,7 @@ def device_logging_to_python():
     return inner
 
 
-def log_exceptions(logger: logging.Logger = None):
+def log_exceptions(logger: logging.Logger = None, suppress: bool = False):
     """Decorator that logs all exceptions that the function raises."""
 
     def wrapper(func):
@@ -265,7 +265,8 @@ def log_exceptions(logger: logging.Logger = None):
                 )
 
                 # we can log but we cannot hide
-                raise
+                if not suppress:
+                    raise
 
         return inner
 
diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/lofar_device.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/lofar_device.py
index 3ac5a47d52aefb9b6211707cdc8b5f0c7cf20138..36c15a8393648d48edbeea7c552af86250c1191b 100644
--- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/lofar_device.py
+++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/lofar_device.py
@@ -341,7 +341,7 @@ class LOFARDevice(Device):
                 merge_values[idx] = current_values[idx]
 
     @command(polling_period=DEFAULT_METRICS_POLLING_PERIOD)
-    @log_exceptions()
+    @log_exceptions(suppress=True)
     @DurationMetric()
     def poll_attributes(self):
         if self.attribute_poller:
diff --git a/tangostationcontrol/tangostationcontrol/devices/calibration.py b/tangostationcontrol/tangostationcontrol/devices/calibration.py
index 9ce0f8e00434d4eb5c2f24cad02b71a616ceb8f8..a09de1b6f4c11ef4ef46125d6b8277491d4a926e 100644
--- a/tangostationcontrol/tangostationcontrol/devices/calibration.py
+++ b/tangostationcontrol/tangostationcontrol/devices/calibration.py
@@ -81,7 +81,7 @@ class Calibration(LOFARDevice):
 
         self.calibration_count_metric.get_metric([antenna_field_name]).inc()
 
-    @log_exceptions()
+    @log_exceptions(suppress=True)
     def _antennafield_changed_event(self, event):
         """Trigger on key external changes in AntennaField settings."""
 
@@ -104,7 +104,7 @@ class Calibration(LOFARDevice):
         # frequencies changed, so we need to recalibrate
         self._calibrate_antenna_field(event.device.name())
 
-    @log_exceptions()
+    @log_exceptions(suppress=True)
     def _clock_changed_event(self, event):
         """Trigger on external changes in frequency settings."""
         if event.err:
diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
index b7b6319cf20136db93b004ac9e283d3ddc3f1679..9a55718f3e234e911c78183bcaeab28a586bcab2 100644
--- a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
+++ b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py
@@ -763,7 +763,7 @@ class Beamlet(OPCUADevice):
     # internal functions
     # --------
 
-    @log_exceptions()
+    @log_exceptions(suppress=True)
     def _frequency_change_event(self, event):
         """Trigger on external changes in frequency settings."""