diff --git a/src/containers/building_blocks.jl b/src/containers/building_blocks.jl
index b5be0e4d98692ea1b3dca2282e3be6a5609cb1ad..244e11adf636f129affac310f66d3cfc8aa2cc15 100644
--- a/src/containers/building_blocks.jl
+++ b/src/containers/building_blocks.jl
@@ -219,8 +219,8 @@ The gradients cannot contain any free variables.
 struct BuildingBlock <: BaseBuildingBlock
     parts :: Vector{<:BaseComponent}
     function BuildingBlock(parts::AbstractVector{<:BaseComponent})
-        res = new(duration, parts)
-        for (_, part) in waveform_sequence(parts)
+        res = new(parts)
+        for (_, part) in waveform_sequence(res)
             scanner_constraints!(part)
         end
         return res