diff --git a/src/parts/helper_functions.jl b/src/parts/helper_functions.jl
index b52d06590b382336ed3c90f05eae01c0e55d76e9..250ac7968f1816f4a81da63fd07534f868e6feb7 100644
--- a/src/parts/helper_functions.jl
+++ b/src/parts/helper_functions.jl
@@ -145,7 +145,7 @@ function readout_event(; type, optimise=false, scanner=nothing, variables...)
     if type == :instant
         optimise = false # there is nothing to optimise
     end
-    real_variables = Dict(key => value for (key, value) in pairs(variables) if !isnothing(variables))
+    real_variables = Dict(key => value for (key, value) in pairs(variables) if (!isnothing(value)) && (value isa AbstractVector && !all(isnothing.(value))))
     build_sequence(scanner; optimise=optimise) do 
         func_dict = Dict(
             :epi => EPIReadout,