diff --git a/bilby/gw/likelihood.py b/bilby/gw/likelihood.py
index d301ad9918aec4657ee41dd074a065f968e6d11f..cc9e37bb9429c6553c938736c05883d7ff5e7c08 100644
--- a/bilby/gw/likelihood.py
+++ b/bilby/gw/likelihood.py
@@ -770,11 +770,6 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
             phase_marginalization=phase_marginalization,
             distance_marginalization_lookup_table=distance_marginalization_lookup_table)
 
-        self.time_samples = np.arange(
-            self.priors['geocent_time'].minimum - 0.045,
-            self.priors['geocent_time'].maximum + 0.045,
-            self._get_time_resolution()) - self.interferometers.start_time
-
         if isinstance(weights, dict):
             self.weights = weights
         elif isinstance(weights, str):
@@ -824,7 +819,8 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
         h_plus_quadratic = f_plus * signal['quadratic']['plus']
         h_cross_quadratic = f_cross * signal['quadratic']['cross']
 
-        indices, in_bounds = self._closest_time_indices(ifo_time, self.time_samples)
+        indices, in_bounds = self._closest_time_indices(
+            ifo_time, self.weights['time_samples'])
         if not in_bounds:
             return self._CalculatedSNRs(
                 d_inner_h=np.nan_to_num(-np.inf), optimal_snr_squared=0,
@@ -836,7 +832,7 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
             self.weights[interferometer.name + '_linear'][indices])
 
         d_inner_h = interp1d(
-            self.time_samples[indices],
+            self.weights['time_samples'][indices],
             d_inner_h_tc_array, kind='cubic')(ifo_time)
 
         optimal_snr_squared = \
@@ -883,6 +879,12 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
         The times are chosen to allow all the merger times allows in the time
         prior.
         """
+
+        self.weights['time_samples'] = np.arange(
+            self.priors['geocent_time'].minimum - 0.045,
+            self.priors['geocent_time'].maximum + 0.045,
+            self._get_time_resolution()) - self.interferometers.start_time
+
         for ifo in self.interferometers:
             # only get frequency components up to maximum_frequency
             linear_matrix = linear_matrix[:, :sum(ifo.frequency_mask)]
@@ -890,22 +892,23 @@ class ROQGravitationalWaveTransient(GravitationalWaveTransient):
 
             # array of relative time shifts to be applied to the data
             # 0.045s comes from time for GW to traverse the Earth
-            time_space = (self.time_samples[1] -
-                          self.time_samples[0])
+            time_space = (self.weights['time_samples'][1] -
+                          self.weights['time_samples'][0])
 
             # array to be filled with data, shifted by discrete time_samples
             tc_shifted_data = np.zeros([
-                len(self.time_samples), sum(ifo.frequency_mask)], dtype=complex)
+                len(self.weights['time_samples']), sum(ifo.frequency_mask)],
+                dtype=complex)
 
             # shift data to beginning of the prior increment by the time step
             shifted_data =\
                 ifo.frequency_domain_strain[ifo.frequency_mask] * \
                 np.exp(2j * np.pi * ifo.frequency_array[ifo.frequency_mask] *
-                       self.time_samples[0])
+                       self.weights['time_samples'][0])
             single_time_shift = np.exp(
                 2j * np.pi * ifo.frequency_array[ifo.frequency_mask] *
                 time_space)
-            for j in range(len(self.time_samples)):
+            for j in range(len(self.weights['time_samples'])):
                 tc_shifted_data[j] = shifted_data
                 shifted_data *= single_time_shift