diff --git a/src/components/pulses/sinc_pulses.jl b/src/components/pulses/sinc_pulses.jl
index db5e47f6e22f2d3d7e118836d9d93bf912c3857d..53ffb9df2889a17d3cdd8bd3a634eaa73626d90a 100644
--- a/src/components/pulses/sinc_pulses.jl
+++ b/src/components/pulses/sinc_pulses.jl
@@ -88,7 +88,7 @@ effective_time(pulse::SincPulse) = N_left(pulse) * lobe_duration(pulse)
 
 function make_generic(block::SincPulse)
     normed_times = -N_left(block):0.1:N_right(block) + 1e-5
-    times = (normed_times .+ N_left(block)) .* lobe_duration(block)
+    times = max.(0., (normed_times .+ N_left(block))) .* lobe_duration(block)
     amplitudes = amplitude(block) .* (normalised_function.(normed_times; apodise=block.apodise))
     phases = [frequency(block) .* lobe_duration(block)] .* normed_times .* 360
     return GenericPulse(times, amplitudes, phases, effective_time(block))