diff --git a/automata/euclidean_distance_automaton.jl b/automata/euclidean_distance_automaton.jl
index 5fc21aebdab2a6615c16ee4280b2b6175eb7a8ef..2d3f38e70cfdb0c972c2260d3d71ff410d8e148d 100644
--- a/automata/euclidean_distance_automaton.jl
+++ b/automata/euclidean_distance_automaton.jl
@@ -55,11 +55,14 @@ function create_euclidean_distance_automaton(m::ContinuousTimeModel, timeline::A
         # l1 => l1
         # Defined below 
         @everywhere $(func_name(:cc, :l1, :l1, 1))(S::StateLHA, x::Vector{Int}, p::Vector{Float64}) =
-        getfield(S, :values)[$(idx_var_t)] >= $(timeline)[convert(Int, getfield(S, :values)[$(idx_var_idx)])]
+        (tml = $(Tuple(timeline));
+         tml_idx = tml[convert(Int, getfield(S, :values)[$(idx_var_idx)])];
+         getfield(S, :values)[$(idx_var_t)] >= tml_idx)
         @everywhere $(func_name(:us, :l1, :l1, 1))(S::StateLHA, x::Vector{Int}, p::Vector{Float64}) =
-        (setindex!(getfield(S, :values), getfield(S, :values)[$(idx_var_d)] + 
-                                        (getfield(S, :values)[$(idx_var_n)]  - $(observations)[convert(Int, getfield(S, :values)[$(idx_var_idx)])])^2, 
-                                        $(idx_var_d));
+        (y_obs = $(Tuple(observations));
+         y_obs_idx = y_obs[convert(Int, getfield(S, :values)[$(idx_var_idx)])];
+         setindex!(getfield(S, :values), getfield(S, :values)[$(idx_var_d)] + (getfield(S, :values)[$(idx_var_n)]  - y_obs_idx)^2, 
+                                         $(idx_var_d));
          setindex!(getfield(S, :values), getfield(S, :values)[$(idx_var_idx)] + 1.0, $(idx_var_idx)))
         
         @everywhere $(func_name(:cc, :l1, :l1, 2))(S::StateLHA, x::Vector{Int}, p::Vector{Float64}) = true 
diff --git a/tests/automata/euclidean_distance_single.jl b/tests/automata/euclidean_distance_single.jl
index c28ad52430d301b9f2566992f5058dffb2d09d4a..f1923c5d7173295f5f1f008ff61784243a72bc08 100644
--- a/tests/automata/euclidean_distance_single.jl
+++ b/tests/automata/euclidean_distance_single.jl
@@ -11,7 +11,6 @@ y_obs = vectorize(simulate(SIR), :I, tml_obs)
 sync_SIR = SIR * create_euclidean_distance_automaton(SIR, tml_obs, y_obs, :I)
 σ = simulate(sync_SIR)
 test = euclidean_distance(σ, :I, tml_obs, y_obs) == σ.state_lha_end[:d]
-@show test, euclidean_distance(σ, :I, tml_obs, y_obs), σ.state_lha_end[:d]
 
 return test