diff --git a/src/overlapping/trapezoid_gradients.jl b/src/overlapping/trapezoid_gradients.jl
index a5a70fe99b195866525dc761ae647a8d0044f490..875219b4dc8e78491b2610158f60c3ca2363bd1c 100644
--- a/src/overlapping/trapezoid_gradients.jl
+++ b/src/overlapping/trapezoid_gradients.jl
@@ -132,7 +132,13 @@ duration(g::TrapezoidGradient) = 2 * rise_time(g) + flat_time(g)
 qvec(g::TrapezoidGradient, ::Nothing, ::Nothing) = δ(g) .* gradient_strength(g) .* 2π
 inverse_slice_thickness(g::TrapezoidGradient) = isnothing(g.pulse) ? nothing : inverse_bandwidth(g) .* gradient_strength(g)
 
-variables(::Type{<:TrapezoidGradient}) = [qvec, δ, gradient_strength, duration, rise_time, flat_time]
+function variables(tg::TrapezoidGradient) 
+    list = [qvec, δ, gradient_strength, duration, rise_time, flat_time]
+    if !isnothing(tg.pulse)
+        push!(list, slice_thickness)
+    end
+    return list
+end
 
 
 end
\ No newline at end of file