diff --git a/src/interface_implementations/ballandbeam.jl b/src/interface_implementations/ballandbeam.jl
index 6b1a5c857d72b8bd6c0cc858756b5ba03987b57e..1764d1fe68284fa16ce2d761a2e7e0fc45e9a4fd 100644
--- a/src/interface_implementations/ballandbeam.jl
+++ b/src/interface_implementations/ballandbeam.jl
@@ -94,8 +94,11 @@ bias(p::AbstractBeamOrBallAndBeam)       = p.bias
 bias(p::BeamSimulator)                   = 0
 bias(p::BallAndBeamSimulator)            = 0
 
-
-control(p::AbstractBeamOrBallAndBeam, u) = send(p.control,u)
+function control(p::AbstractBeamOrBallAndBeam, u::AbstractArray)
+    length(u) == 1 || error("Process $(typeof(p)) only accepts one control signal, tried to send u=$u.")
+    send(p.control,u[1])
+end
+control(p::AbstractBeamOrBallAndBeam, u::Number) = send(p.control,u)
 control(p::BeamSimulator, u)             = p.s(u)
 control(p::BallAndBeamSimulator, u)      = error("Not yet implemented")