diff --git a/test/gw_source_test.py b/test/gw_source_test.py
index a31d00681012453efa9fa8b89a9b53f46a3a607d..697616fa9c5758e8611c441d1a402c60e463af3d 100644
--- a/test/gw_source_test.py
+++ b/test/gw_source_test.py
@@ -18,11 +18,14 @@ class TestLalBBH(unittest.TestCase):
             waveform_approximant='IMRPhenomPv2', reference_frequency=50.0,
             minimum_frequency=20.0, catch_waveform_errors=True)
         self.frequency_array = bilby.core.utils.create_frequency_series(2048, 4)
-
+        self.bad_parameters = copy(self.parameters)
+        self.bad_parameters['mass_1'] = -30.
+    
     def tearDown(self):
         del self.parameters
         del self.waveform_kwargs
         del self.frequency_array
+        del self.bad_parameters
 
     def test_lal_bbh_works_runs_valid_parameters(self):
         self.parameters.update(self.waveform_kwargs)
@@ -31,10 +34,17 @@ class TestLalBBH(unittest.TestCase):
                 self.frequency_array, **self.parameters), dict)
 
     def test_waveform_error_catching(self):
-        bad_parameters = copy(self.parameters)
-        bad_parameters['mass_1'] = -30.
-        bad_parameters.update(self.waveform_kwargs)
-        self.assertFalse(bilby.gw.source.lal_binary_black_hole(self.frequency_array, **bad_parameters))
+        self.bad_parameters.update(self.waveform_kwargs)
+        self.assertIsNone(bilby.gw.source.lal_binary_black_hole(
+            self.frequency_array, **self.bad_parameters))
+
+    def test_waveform_error_raising(self):
+        raise_error_parameters = copy(self.bad_parameters)
+        raise_error_parameters.update(self.waveform_kwargs)
+        raise_error_parameters['catch_waveform_errors']=False
+        with self.assertRaises(Exception):
+            bilby.gw.source.lal_binary_black_hole(
+                self.frequency_array, **raise_error_parameters)
 
     def test_lal_bbh_works_without_waveform_parameters(self):
         self.assertIsInstance(