diff --git a/bilby/gw/detector/interferometer.py b/bilby/gw/detector/interferometer.py
index 271090c5e88f63f075e627ab6a266374b217324f..3b6904139f985fbad73d3d8eb753e525a24d055d 100644
--- a/bilby/gw/detector/interferometer.py
+++ b/bilby/gw/detector/interferometer.py
@@ -488,11 +488,12 @@ class Interferometer(object):
             parameters['ra'], parameters['dec'], parameters['geocent_time'])
         dt = parameters['geocent_time'] + time_shift - self.strain_data.start_time
 
-        signal_ifo = signal_ifo * np.exp(
-            -1j * 2 * np.pi * dt * self.frequency_array)
+        signal_ifo[self.frequency_mask] = signal_ifo[self.frequency_mask] * np.exp(
+            -1j * 2 * np.pi * dt * self.frequency_array[self.frequency_mask])
 
-        signal_ifo *= self.calibration_model.get_calibration_factor(
-            self.frequency_array, prefix='recalib_{}_'.format(self.name), **parameters)
+        signal_ifo[self.frequency_mask] *= self.calibration_model.get_calibration_factor(
+            self.frequency_array[self.frequency_mask],
+            prefix='recalib_{}_'.format(self.name), **parameters)
 
         return signal_ifo