diff --git a/src/parts/trapezoids.jl b/src/parts/trapezoids.jl
index 953f96a7c4fdbad82da641fa7e83ec8651ed0484..c9f6b5b872f691d2ab89141ef679c3b7d669cab7 100644
--- a/src/parts/trapezoids.jl
+++ b/src/parts/trapezoids.jl
@@ -6,7 +6,7 @@ module Trapezoids
 import JuMP: @constraint
 import StaticArrays: SVector
 import LinearAlgebra: norm
-import ...Variables: variables, @defvar, scanner_constraints!, get_free_variable, set_simple_constraints!, gradient_orientation, VariableType, get_gradient, get_pulse, get_readout, adjustable, adjust_internal, apply_simple_constraint!
+import ...Variables: variables, @defvar, scanner_constraints!, get_free_variable, set_simple_constraints!, gradient_orientation, VariableType, get_gradient, get_pulse, get_readout, adjustable, adjust_internal, apply_simple_constraint!, add_cost_function!
 import ...Components: ChangingGradient, ConstantGradient, RFPulseComponent, ADC
 import ...Containers: BaseBuildingBlock
 
@@ -89,6 +89,7 @@ function (::Type{Trapezoid})(; orientation=nothing, rise_time=nothing, flat_time
 
     apply_simple_constraint!(res.flat_time, :>=, 0)
     apply_simple_constraint!(res.rise_time, :>=, 0)
+    add_cost_function!(-res.slew_rate)
     scanner_constraints!(res)
     return res
 end