diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
index 50b7b726376843940783db9c4214fe1d1e3b281c..0fb8c7dbc5ddd6de226acb012d4f35a3fbe6f2b8 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
@@ -113,7 +113,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				if (retryCount > 10) {
 					throw new VectoException("HybridStrategy: retry count exceeded! {0}", DebugData);
 				}
-
+				var engaged = DataBus.GearboxInfo.GearEngaged(absTime);
 				retry = false;
 				var strategyResponse = Strategy.Request(absTime, dt, outTorque, outAngularVelocity, dryRun);
 				DebugData.Add($"[HC-R-0-{retryCount}]", strategyResponse);
@@ -162,6 +162,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					SelectedGear = strategySettings.NextGear;
 				}
 
+				
 				CurrentStrategySettings = strategySettings;
 				retVal = NextComponent.Request(absTime, dt, outTorque, outAngularVelocity, dryRun);
 				DebugData.Add($"HC.R-1-{retryCount}", new {
@@ -207,6 +208,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					continue;
 				}
 
+				if (retVal is ResponseOverload && DataBus.DriverInfo.DrivingAction == DrivingAction.Brake &&
+					engaged != DataBus.GearboxInfo.GearEngaged(absTime)) {
+					retryCount++;
+					retry = true;
+					Strategy.OperatingpointChangedDuringRequest(absTime, dt, outTorque, outAngularVelocity, dryRun,
+						retVal);
+					continue;
+				}
+
 				if (retVal is ResponseInvalidOperatingPoint) {
 					retryCount++;
 					retry = true;