diff --git a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 3e34fcce18c99d7d106928e33238a458987140c6..dfe778e7549e8ff5fd964bedef8e6d7bb1d9a40f 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			DrivingModeBrake,
 		}
 
-		protected DrivingMode CurrentDrivingMode;
+		protected internal DrivingMode CurrentDrivingMode;
 		protected Dictionary<DrivingMode, IDriverMode> DrivingModes = new Dictionary<DrivingMode, IDriverMode>();
 
 		public DefaultDriverStrategy()
@@ -288,12 +288,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			Meter newds;
 			response = CheckRequestDoesNotExceedNextAction(absTime, ds, targetVelocity, gradient, response, out newds);
 
-			if (newds.IsEqual(0, 1e-3) || ds.IsEqual(newds, 1e-3.SI<Meter>())) {
+			if (ds.IsEqual(newds, 1e-3.SI<Meter>())) {
 				return response;
 			}
-			Log.Debug("Exceeding next ActionDistance at {0}. Reducing max Distance to {1}",
+			if (newds.IsSmallerOrEqual(0, 1e-3)) {
+				newds = ds;
+				DriverStrategy.CurrentDrivingMode = DefaultDriverStrategy.DrivingMode.DrivingModeBrake;
+				DriverStrategy.BrakeTrigger = DriverStrategy.NextDrivingAction;
+			}
+			Log.Debug("Exceeding next ActionDistance at {0}. Reducing max Distance from {2} to {1}",
 				DriverStrategy.NextDrivingAction.ActionDistance,
-				newds);
+				newds, ds);
 			return new ResponseDrivingCycleDistanceExceeded() {
 				Source = this,
 				MaxDistance = newds,