diff --git a/tangostationcontrol/tangostationcontrol/beam/delays.py b/tangostationcontrol/tangostationcontrol/beam/delays.py
index da649342de07200e96645d7ad4c3011eae416720..7c4b13ba1cdf74b72565e5aa22cae631c7242e16 100644
--- a/tangostationcontrol/tangostationcontrol/beam/delays.py
+++ b/tangostationcontrol/tangostationcontrol/beam/delays.py
@@ -14,8 +14,8 @@ class Delays:
         measure = casacore.measures.measures()
         frame_location = measure.position("ITRF", *[f"{x}m" for x in itrf])
 
-        result = measure.do_frame(frame_location)
-        assert result == True , f"measure.do_frame failed for ITRF location {itrf}"
+        if not measure.do_frame(frame_location):
+            raise ValueError(f"measure.do_frame failed for ITRF location {itrf}")
 
         self.reference_itrf = itrf
         self.measure = measure
@@ -26,8 +26,8 @@ class Delays:
         utc_time_str = utc_time.isoformat(' ')
         frame_time = self.measure.epoch("UTC", utc_time_str)
 
-        result = self.measure.do_frame(frame_time)
-        assert result == True , f"measure.do_frame failed for UTC time {utc_time_str}"
+        if not self.measure.do_frame(frame_time):
+            raise ValueError(f"measure.do_frame failed for UTC time {utc_time_str}")
 
     def get_direction_vector(self, pointing: numpy.ndarray) -> numpy.ndarray:
         """ Compute direction vector for a given pointing, relative to the measure. """
diff --git a/tangostationcontrol/tangostationcontrol/test/beam/test_delays.py b/tangostationcontrol/tangostationcontrol/test/beam/test_delays.py
index fd4e96628dc1249c893ecaa085df3a242ee0571f..0a779f980eabd5cc08d95f0521e48acceefee2f5 100644
--- a/tangostationcontrol/tangostationcontrol/test/beam/test_delays.py
+++ b/tangostationcontrol/tangostationcontrol/test/beam/test_delays.py
@@ -1,8 +1,11 @@
 import datetime
 import time
 import logging
+import mock
+
 import numpy
 import numpy.testing
+import casacore
 
 from tangostationcontrol.beam.delays import Delays
 from tangostationcontrol.test import base
@@ -10,15 +13,21 @@ from tangostationcontrol.test import base
 
 class TestDelays(base.TestCase):
     def test_init(self):
-        """
-        Fail condition is simply the object creation failing
-        """
+        """Fail condition is simply the object creation failing"""
 
         reference_itrf = [3826577.066, 461022.948, 5064892.786]  # CS002LBA, in ITRF2005 epoch 2012.5
         d = Delays(reference_itrf)
 
         self.assertIsNotNone(d)
 
+    def test_init_fails(self):
+        """Test do_measure returning false is correctly caught"""
+
+        with mock.patch.object(casacore.measures, "measures") as m_measure:
+            m_measure.return_value.do_frame.return_value = False
+
+            self.assertRaises(ValueError, Delays, [0, 0, 0])
+
     def test_is_valid_direction(self):
         d = Delays([0, 0, 0])