diff --git a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py
index d68bbfe3247486cdf1a77b3466fa59c88917348a..c134d5150662cf868afb788439383ae9135281d1 100644
--- a/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py
+++ b/tangostationcontrol/tangostationcontrol/devices/temperature_manager.py
@@ -137,9 +137,10 @@ class TemperatureManager(LOFARDevice):
         super().configure_for_off()
 
         # unsubscribe from all events
-        for dev_attr in self.temp_error_attrs.values():
+        for attr_name in list(self.temp_error_attrs.keys()):
+            dev_attr = self.temp_error_attrs[attr_name]
             dev_attr.proxy.unsubscribe_event(dev_attr.subscription_id)
-            del dev_attr
+            del self.temp_error_attrs[attr_name]
 
     is_alarming_R = attribute(
         dtype=bool,