diff --git a/README.md b/README.md
index 93d84eba05487b6f790974c1637301b5faed01c3..259e6cc0bd47a1f50ab3be648cecdfe85b2a9264 100644
--- a/README.md
+++ b/README.md
@@ -151,6 +151,7 @@ Next change the version in the following places:
 
 # Release Notes
 
+* 0.42.9 Use latest tables from S3 to calibrate antenna fields
 * 0.42.8 Emit metrics even if attribute is polled by AttributePoller as well as Tango
 * 0.42.7 Prevent Prometheus name collision in ProtectionControl state attribute
 * 0.42.6 Fix crash caused by emitting change events for attributes polled by Tango
diff --git a/tangostationcontrol/VERSION b/tangostationcontrol/VERSION
index 959c4e57349b1e88ca7191129b8d0e6c633ed43e..dc2f1e7e515117785ec31b9212e3331c3c4b7f38 100644
--- a/tangostationcontrol/VERSION
+++ b/tangostationcontrol/VERSION
@@ -1 +1 @@
-0.42.8
+0.42.9
diff --git a/tangostationcontrol/tangostationcontrol/devices/calibration.py b/tangostationcontrol/tangostationcontrol/devices/calibration.py
index fcc6edd730ec4a8918715ae3719a00868628e5ae..3497439900ad066e74e924dba7f2213eb5545034 100644
--- a/tangostationcontrol/tangostationcontrol/devices/calibration.py
+++ b/tangostationcontrol/tangostationcontrol/devices/calibration.py
@@ -86,6 +86,10 @@ class Calibration(LOFARDevice):
             logger.warning("Device not active. Ignore AntennaField changed event")
             return
 
+        # make sure we have the latest tables
+        logger.debug("Syncing calibration tables")
+        self._calibration_manager.sync_calibration_tables()
+
         # frequencies changed, so we need to recalibrate
         self._calibrate_antenna_field(device.name())
 
@@ -96,6 +100,10 @@ class Calibration(LOFARDevice):
             logger.warning("Device not active. Ignore clock changed event")
             return
 
+        # make sure we have the latest tables
+        logger.debug("Syncing calibration tables")
+        self._calibration_manager.sync_calibration_tables()
+
         found = False
         for k, ant in self.ant_proxies.items():
             # Recalibrate associated AntennaField
@@ -279,8 +287,8 @@ class Calibration(LOFARDevice):
             )
 
     def configure_for_on(self):
-        # Calibrate all antennafields, as we did not receive
+        # (Re)calibrate all antennafields, as we did not receive
         # any events yet.
-        self.calibrate_all()
+        self.download_calibration_tables()
 
         super().configure_for_on()