diff --git a/ext/MakieMRIBuilder/MakieMRIBuilder.jl b/ext/MakieMRIBuilder/MakieMRIBuilder.jl
index 9805ed5f8fb5810b450e668ffe8583bbd172dff9..3122c94406fc2dad59731cc45b885f33efde1bb5 100644
--- a/ext/MakieMRIBuilder/MakieMRIBuilder.jl
+++ b/ext/MakieMRIBuilder/MakieMRIBuilder.jl
@@ -2,7 +2,7 @@ module MakieMRIBuilder
 using Makie
 import MakieCore
 import MakieCore: @recipe, theme, generic_plot_attributes!, Attributes, automatic
-import MRIBuilder.Plot: SequenceDiagram, range_line, normalise, plot_sequence
+import MRIBuilder.Plot: SequenceDiagram, range_full, normalise, plot_sequence
 import MRIBuilder: BaseSequence, BaseBuildingBlock, duration
 
 @recipe(Plot_Sequence, sequence) do scene
@@ -42,7 +42,7 @@ function Makie.plot!(scene:: Plot_Sequence)
         current_y = 0.
         for label in (:ADC, :Gz, :Gy, :Gx, :G, :RFy, :RFx)
             line = getproperty(sequence_diagram, label)
-            (lower, upper) = range_line(line)
+            (lower, upper) = range_full(line)
             if !(lower ≈ upper)
                 shift = current_y - lower
                 Makie.text!(scene, string(label) * " "; position=(0., shift), align=(:right, :center), text_kwargs..., kwargs...)
diff --git a/src/plot.jl b/src/plot.jl
index cf29f61dab9cbdb70d303e2f943750cfd1d94f5a..7dd311ce2153cfe44d4ce44c8fadfb908f2751f2 100644
--- a/src/plot.jl
+++ b/src/plot.jl
@@ -70,6 +70,15 @@ range_event(spl::SinglePlotLine) = (
     maximum(spl.event_amplitudes; init=0.),
 )
 
+function range_full(spl::SinglePlotLine)
+    (l1, u1) = range_line(spl)
+    (l2, u2) = range_event(spl)
+    return (
+        min(l1, l2),
+        max(u1, u2),
+    )
+end
+
 normalise(spl::SinglePlotLine, line_value, event_value) = SinglePlotLine(
     spl.times, iszero(line_value) ? spl.amplitudes : (spl.amplitudes ./ line_value), 
     spl.event_times, iszero(event_value) ? spl.event_amplitudes : (spl.event_amplitudes ./ event_value)
diff --git a/test/plots/finite_rf.png b/test/plots/finite_rf.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa7a806a7c313dcf54e34555bb816065762fa536
Binary files /dev/null and b/test/plots/finite_rf.png differ
diff --git a/test/plots/grad_dwi.png b/test/plots/grad_dwi.png
new file mode 100644
index 0000000000000000000000000000000000000000..06f280ee7cae266c06a2db3dfd9c6f1dc746657e
Binary files /dev/null and b/test/plots/grad_dwi.png differ
diff --git a/test/plots/perfect_dwi.png b/test/plots/perfect_dwi.png
new file mode 100644
index 0000000000000000000000000000000000000000..001e8a5c9c13b1b56461c5c4148e6c5720a5c34e
Binary files /dev/null and b/test/plots/perfect_dwi.png differ
diff --git a/test/test_plot.jl b/test/test_plot.jl
index 4b15d647d982dbbff94292f9050b6b452e912e25..09ff3edcc20b541d5e52c6b036afe4ddd9a2c938 100644
--- a/test/test_plot.jl
+++ b/test/test_plot.jl
@@ -39,9 +39,7 @@ using Gtk
                     InstantPulse(flip_angle=120., phase=0.),
                 ) 
             end
-            f = Figure()
-            Axis(f[1, 1])
-            plot_sequence(sequence)
+            f = plot_sequence(sequence)
             CairoMakie.save(fname, f)
         end
     
@@ -50,15 +48,12 @@ using Gtk
     
     @testset "Finite gradients" begin
         function plot_finite_dwi(fname, single_gradient=false)
-            sequence = DWI(bval=2., TE=80, TR=100, orientation=[0, -1, 1], scanner=Siemens_Prisma)
-            f = Figure()
-            Axis(f[1, 1])
-            plot!(sequence; single_gradient=single_gradient)
+            sequence = DWI(bval=2., TE=:min, TR=100, slice_thickness=2., scanner=Siemens_Prisma)
+            f = plot_sequence(sequence)
             CairoMakie.save(fname, f)
         end
     
-        @visualtest fn->plot_finite_dwi(fn, true) "$dir/single_grad_dwi.png" !isCI
-        @visualtest fn->plot_finite_dwi(fn, false) "$dir/multi_grad_dwi.png" !isCI
+        @visualtest fn->plot_finite_dwi(fn, true) "$dir/plots/grad_dwi.png" !isCI
     end