diff --git a/tupak/gw/waveform_generator.py b/tupak/gw/waveform_generator.py
index cd18651b269db5782adc41bbb2ae66135c83dac9..48c1d58a9bca0ec56331f54a3241bc4c065e0681 100644
--- a/tupak/gw/waveform_generator.py
+++ b/tupak/gw/waveform_generator.py
@@ -83,12 +83,19 @@ class WaveformGenerator(object):
             .format(self.duration, self.sampling_frequency, self.start_time, fdsm_name, tdsm_name,
                     param_conv_name, self.waveform_arguments)
 
-    def frequency_domain_strain(self, parameters):
+    def frequency_domain_strain(self, parameters=None):
         """ Rapper to source_model.
 
         Converts self.parameters with self.parameter_conversion before handing it off to the source model.
         Automatically refers to the time_domain_source model via NFFT if no frequency_domain_source_model is given.
 
+        Parameters
+        ----------
+        parameters: dict, optional
+            Parameters to evaluate the waveform for, this overwrites
+            `self.parameters`.
+            If not provided will fall back to `self.parameters`.
+
         Returns
         -------
         array_like: The frequency domain strain for the given set of parameters
@@ -105,13 +112,20 @@ class WaveformGenerator(object):
                                       transformed_model=self.time_domain_source_model,
                                       transformed_model_data_points=self.time_array)
 
-    def time_domain_strain(self, parameters):
+    def time_domain_strain(self, parameters=None):
         """ Rapper to source_model.
 
         Converts self.parameters with self.parameter_conversion before handing it off to the source model.
         Automatically refers to the frequency_domain_source model via INFFT if no frequency_domain_source_model is
         given.
 
+        Parameters
+        ----------
+        parameters: dict, optional
+            Parameters to evaluate the waveform for, this overwrites
+            `self.parameters`.
+            If not provided will fall back to `self.parameters`.
+
         Returns
         -------
         array_like: The time domain strain for the given set of parameters
@@ -130,7 +144,8 @@ class WaveformGenerator(object):
 
     def _calculate_strain(self, model, model_data_points, transformation_function, transformed_model,
                           transformed_model_data_points, parameters):
-        self.parameters = parameters.copy()
+        if parameters is not None:
+            self.parameters = parameters.copy()
         if model is not None:
             model_strain = self._strain_from_model(model_data_points, model)
         elif transformed_model is not None: