diff --git a/bilby/gw/detector/strain_data.py b/bilby/gw/detector/strain_data.py
index 4a734d149c92801b6d5b8ab59a75f9d3bf08bc98..ea920eb934d7541574cddb6fc497d3d608352c79 100644
--- a/bilby/gw/detector/strain_data.py
+++ b/bilby/gw/detector/strain_data.py
@@ -48,6 +48,8 @@ class InterferometerStrainData(object):
             This corresponds to alpha * duration / 2 for scipy tukey window.
 
         """
+        self._freq_mask_updated = False
+
         self.minimum_frequency = minimum_frequency
         self.maximum_frequency = maximum_frequency
         self.roll_off = roll_off
@@ -100,6 +102,15 @@ class InterferometerStrainData(object):
         else:
             return True
 
+    @property
+    def minimum_frequency(self):
+        return self._minimum_frequency
+
+    @minimum_frequency.setter
+    def minimum_frequency(self, minimum_frequency):
+        self._minimum_frequency = minimum_frequency
+        self._freq_mask_updated = False
+
     @property
     def maximum_frequency(self):
         """ Force the maximum frequency be less than the Nyquist frequency """
@@ -111,6 +122,7 @@ class InterferometerStrainData(object):
     @maximum_frequency.setter
     def maximum_frequency(self, maximum_frequency):
         self._maximum_frequency = maximum_frequency
+        self.__freq_mask_updated = False
 
     @property
     def frequency_mask(self):
@@ -120,11 +132,11 @@ class InterferometerStrainData(object):
         -------
         array_like: An array of boolean values
         """
-        if self._frequency_mask is not None:
-            return self._frequency_mask
-        frequency_array = self._times_and_frequencies.frequency_array
-        self._frequency_mask = ((frequency_array >= self.minimum_frequency) &
-                                (frequency_array <= self.maximum_frequency))
+        if not self.__freq_mask_updated:
+            frequency_array = self._times_and_frequencies.frequency_array
+            mask = ((frequency_array >= self.minimum_frequency) &
+                    (frequency_array <= self.maximum_frequency))
+            self._frequency_mask = mask
         return self._frequency_mask
 
     @property