diff --git a/bilby/gw/detector/interferometer.py b/bilby/gw/detector/interferometer.py
index a56bbb102fec5f58dfca8f7d73044999e8b75ffd..dbbbb56291218f0abc39896ba34923f8117d2655 100644
--- a/bilby/gw/detector/interferometer.py
+++ b/bilby/gw/detector/interferometer.py
@@ -298,7 +298,11 @@ class Interferometer(object):
 
         time_shift = self.time_delay_from_geocenter(
             parameters['ra'], parameters['dec'], parameters['geocent_time'])
-        dt = parameters['geocent_time'] + time_shift - self.strain_data.start_time
+
+        # Be careful to first substract the two GPS times which are ~1e9 sec.
+        # And then add the time_shift which varies at ~1e-5 sec
+        dt_geocent = parameters['geocent_time'] - self.strain_data.start_time
+        dt = dt_geocent + time_shift
 
         signal_ifo[self.strain_data.frequency_mask] = signal_ifo[self.strain_data.frequency_mask] * np.exp(
             -1j * 2 * np.pi * dt * self.strain_data.frequency_array[self.strain_data.frequency_mask])
diff --git a/bilby/gw/likelihood.py b/bilby/gw/likelihood.py
index f950c27ea921ebcce7f70f1c206e631e2d4773cd..326bcbf9d40bf243f46e4fdd4295f13ba1349b3a 100644
--- a/bilby/gw/likelihood.py
+++ b/bilby/gw/likelihood.py
@@ -895,8 +895,8 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
         dt = interferometer.time_delay_from_geocenter(
             self.parameters['ra'], self.parameters['dec'],
             self.parameters['geocent_time'])
-        ifo_time = self.parameters['geocent_time'] + dt - \
-            interferometer.strain_data.start_time
+        dt_geocent = self.parameters['geocent_time'] - interferometer.strain_data.start_time
+        ifo_time = dt_geocent + dt
 
         calib_linear = interferometer.calibration_model.get_calibration_factor(
             self.frequency_nodes_linear,