diff --git a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 7f1a20eb9fceb0b0b9e0e2bc54223d40fc532a47..a9fae590ee58c0dd636a2911d2410af85d5a1e10 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				default:
 					return retVal;
 			}
-			if (ds.IsEqual(newds, 1e-3.SI<Meter>())) {
+			if (newds.IsEqual(0, 1e-3) || ds.IsEqual(newds, 1e-3.SI<Meter>())) {
 				return retVal;
 			}
 			Log.Debug("Exceeding next ActionDistance at {0}. Reducing max Distance to {1}", nextAction.ActionDistance, newds);
diff --git a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
index f32fc8e0dca155930ffbd6b00cccec9b68f0a3bd..0aa2dc841f2c6a1d7068cdda2b090b925090b35e 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
@@ -189,6 +189,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					return cycleIterator.RightSample.Distance;
 				}
 			} while (cycleIterator.RightSample.Distance < PreviousState.Distance + ds && cycleIterator.MoveNext());
+			if (cycleIterator.LastEntry) {
+				return cycleIterator.RightSample.Distance;
+			}
 			return null;
 		}