diff --git a/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/Models/SimulationComponent/Impl/Driver.cs
index 6e0320d3b6316633d0e31f923716f8dd65226ab3..1616ce94117f6ed41c8ce6ce726566e7d403bda2 100644
--- a/VectoCore/Models/SimulationComponent/Impl/Driver.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/Driver.cs
@@ -393,8 +393,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				};
 			}
 
-			Log.Debug("Found operating point for breaking. dt: {0}, acceleration: {1}", operatingPoint.SimulationInterval,
-				operatingPoint.Acceleration);
+			Log.Debug("Found operating point for breaking. dt: {0}, acceleration: {1} brakingPower: {2}",
+				operatingPoint.SimulationInterval,
+				operatingPoint.Acceleration, DataBus.BreakPower);
+			if (DataBus.BreakPower < 0) {
+				DataBus.BreakPower = 0.SI<Watt>();
+				return new ResponseOverload { Source = this };
+			}
 
 			retVal = NextComponent.Request(absTime, operatingPoint.SimulationInterval, operatingPoint.Acceleration, gradient);