diff --git a/tangostationcontrol/tangostationcontrol/devices/lofar_device.py b/tangostationcontrol/tangostationcontrol/devices/lofar_device.py
index 8886abd8a40b38df1fa9ec181783d9f4a2ff08ae..39a1ca4e81bf3953bc975abb0fa5c024b822d87f 100644
--- a/tangostationcontrol/tangostationcontrol/devices/lofar_device.py
+++ b/tangostationcontrol/tangostationcontrol/devices/lofar_device.py
@@ -95,6 +95,15 @@ class lofar_device(Device, metaclass=AbstractDeviceMetas):
         # trigger a write_{name} call. See https://www.tango-controls.org/community/forum/c/development/c/accessing-own-deviceproxy-class/?page=1#post-2021
         self.proxy = DeviceProxy(self.get_name())
 
+        # register a proxy to ourselves, to interact with
+        # our attributes and commands as a client would.
+        #
+        # this is required to get/set attributes.
+        #
+        # we cannot write directly to our attribute, as that would not
+        # trigger a write_{name} call. See https://www.tango-controls.org/community/forum/c/development/c/accessing-own-deviceproxy-class/?page=1#post-2021
+        self.proxy = DeviceProxy(self.get_name())
+
     @log_exceptions()
     def delete_device(self):
         """Hook to delete resources allocated in init_device.