diff --git a/src/containers/base_sequences.jl b/src/containers/base_sequences.jl
index 41dcb7add1daf7f6907b909e83bdf40cf9729bd9..162234409529e1a18712001f63fefafa668715b8 100644
--- a/src/containers/base_sequences.jl
+++ b/src/containers/base_sequences.jl
@@ -100,14 +100,14 @@ repetition_time(bs::BaseSequence) = duration(bs)
 duration(bs::BaseSequence{0}) = 0.
 duration(bs::BaseSequence) = sum(duration.(bs); init=0.)
 
-function edge_times(seq::BaseSequence)
+function edge_times(seq::BaseSequence; tol=1e-6)
     res = Float64[]
     for (index, block) in enumerate(seq)
         append!(res, edge_times(block) .+ start_time(seq, index))
     end
     unique_res = Float64[res[1]]
     for edge in res
-        if !isapprox(edge, unique_res[end], atol=1e-6)
+        if !isapprox(edge, unique_res[end], atol=tol)
             push!(unique_res, edge)
         end
     end
diff --git a/test/test_sequences.jl b/test/test_sequences.jl
index e0a8228e1126e67e51c7007008eafbe920b1584e..888f2bbc6f96369593d0874d7549b34d69a1f2e7 100644
--- a/test/test_sequences.jl
+++ b/test/test_sequences.jl
@@ -25,6 +25,7 @@
                 @test TR(seq) ≈ 80.
                 @test 4.8 < bval(seq) < 4.9
                 @test rise_time(seq[:gradient]) ≈ min_rise_time rtol=1e-4
+                @test all(isapprox.(edge_times(seq, tol=1e-3), [0., min_rise_time, 40. - min_rise_time, 40, 40 + min_rise_time, 80 - min_rise_time, 80.], atol=1e-4))
 
                 # can also maximise q-value
                 seq2 = DiffusionSpinEcho(TE=80., qval=:max)
@@ -41,6 +42,7 @@
                 @test 0.72 < bval(seq) < 0.73
                 @test readout_times(seq)[1] ≈ TE(seq)
                 @test rise_time(seq[:gradient]) ≈ min_rise_time rtol=1e-4
+                @test all(isapprox.(edge_times(seq), [0., min_rise_time, 10. - min_rise_time, 10., 40, 70, 70 + min_rise_time, 80 - min_rise_time, 80.], atol=1e-4))
             end
             @testset "Set gradient duration" begin
                 seq = DiffusionSpinEcho(TE=80., gradient=(duration=10., ), bval=:max)