diff --git a/airshower_beacon_simulation/lib/figlib.py b/airshower_beacon_simulation/lib/figlib.py
index 81a943a..fd6f443 100644
--- a/airshower_beacon_simulation/lib/figlib.py
+++ b/airshower_beacon_simulation/lib/figlib.py
@@ -245,6 +245,8 @@ def fitted_histogram_figure(
             chisq_strs = []
             if calc_chisq and cdf:
                 ct = np.diff(cdf(bins, *fit_params))*np.sum(counts)
+                if True: # stabilise the chisquare derivation
+                    ct *= np.sum(counts)/np.sum(ct)
                 c2t = stats.chisquare(counts, ct, ddof=len(fit_params))
                 chisq_strs = [
                         f"$\\chi^2$/dof = {c2t[0]: .2g}/{len(fit_params)}"
diff --git a/simulations/11_pulsed_timing.py b/simulations/11_pulsed_timing.py
index c55bfcf..eb7fb7f 100755
--- a/simulations/11_pulsed_timing.py
+++ b/simulations/11_pulsed_timing.py
@@ -111,7 +111,11 @@ def my_correlation(in1, template, lags=None):
     return corrs, (in1, template, lags)
 
 def trace_upsampler(trace, template_t, trace_t):
-    template_dt = template_t[1] - template_t[0]
+    if not hasattr(template_t, '__len__'):
+        template_dt = template_t
+    else:
+        template_dt = template_t[1] - template_t[0]
+
     trace_dt = trace_t[1] - trace_t[0]
 
     upsample_factor = trace_dt/template_dt