diff --git a/Python_script/analysis.py b/Python_script/analysis.py
index 0d20ffeed20010795d88c6f5e9f19e96f5f2fbdf..84e91b2cd75f4f35a1b5471dbcb0a938b8f65fe4 100644
--- a/Python_script/analysis.py
+++ b/Python_script/analysis.py
@@ -77,9 +77,11 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
     for measurement_set in measurement_sets:
         data = set_data[measurement_set]
         if analysis_config['normalise'][0]:
-            data['signal0_means'] -= data['signal0_means'][0]
+            if data['signal0_means']:
+                data['signal0_means'] -= data['signal0_means'][0]
         if analysis_config['normalise'][1]:
-            data['signal1_means'] -= data['signal1_means'][0]
+            if data['signal1_means']:
+                data['signal1_means'] -= data['signal1_means'][0]
 
     fig = plt.figure(figsize=(10, 15))
     gs = gridspec.GridSpec(nrows=6, ncols=1, hspace=0)#, width_ratios=[3, 1], height_ratios=[3, 1])
@@ -155,6 +157,8 @@ def plot_sweep(temperatures, humidities, basename, sweep_type, measurement_sets,
     if analysis_config['type'] == 'rf_cable':
         for measurement_set in measurement_sets:
             data = set_data[measurement_set]
+            if not data['RF_FREQUENCY']: #empty, i.e. no stable measurements
+                continue
             deriv_data = derivatives[measurement_set]
             phase_to_time = 1e15 / (analysis_config['cable_length'] * data['RF_FREQUENCY'][0] * 360.)
             deriv_data['signal0_deltas'][:] = [x * phase_to_time for x in deriv_data['signal0_deltas']]