diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AMTShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AMTShiftStrategy.cs
index d2edb373da86ea2aa746a443c73ce742d589344c..3c30b7274508c8865bde7b69e26e5279364a4d60 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AMTShiftStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AMTShiftStrategy.cs
@@ -56,7 +56,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			Data.SkipGears = true;
 		}
 
-
 		private bool SpeedTooLowForEngine(uint gear, PerSecond outAngularSpeed)
 		{
 			return (outAngularSpeed * Data.Gears[gear].Ratio).IsSmaller(DataBus.EngineIdleSpeed);
@@ -71,7 +70,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				(outAngularSpeed * Data.Gears[gear].Ratio).IsGreaterOrEqual(DataBus.EngineN95hSpeed);
 		}
 
-
 		public override uint Engage(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity)
 		{
 			while (NextGear > 1 && SpeedTooLowForEngine(NextGear, outAngularVelocity)) {
@@ -165,7 +163,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				return true;
 			}
 
-
 			// normal shift when all requirements are fullfilled ------------------
 			var minimumShiftTimePassed = (lastShiftTime + Data.ShiftTime).IsSmallerOrEqual(absTime);
 			if (!minimumShiftTimePassed) {
@@ -257,26 +254,24 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				Gearbox.Gear = tryNextGear;
 				var response = (ResponseDryRun)Gearbox.Request(absTime, dt, outTorque, outAngularVelocity, true);
 				Gearbox.Gear = tmpGear;
-				if (!(response is ResponseEngineSpeedTooLow)) {
-					inAngularVelocity = Data.Gears[tryNextGear].Ratio * outAngularVelocity;
-					inTorque = response.ClutchPowerRequest / inAngularVelocity;
-
-					// if next gear supplied enough power reserve: take it
-					// otherwise take
-					if (!IsBelowDownShiftCurve(tryNextGear, inTorque, inAngularVelocity)) {
-						var fullLoadPower = response.EnginePowerRequest - response.DeltaFullLoad;
-						var reserve = 1 - response.EnginePowerRequest / fullLoadPower;
-
-						if (reserve >= Data.TorqueReserve) {
-							currentGear = tryNextGear;
-						}
+
+				inAngularVelocity = Data.Gears[tryNextGear].Ratio * outAngularVelocity;
+				inTorque = response.ClutchPowerRequest / inAngularVelocity;
+
+				// if next gear supplied enough power reserve: take it
+				// otherwise take
+				if (!IsBelowDownShiftCurve(tryNextGear, inTorque, inAngularVelocity)) {
+					var fullLoadPower = response.EnginePowerRequest - response.DeltaFullLoad;
+					var reserve = 1 - response.EnginePowerRequest / fullLoadPower;
+
+					if (reserve >= Data.TorqueReserve) {
+						currentGear = tryNextGear;
 					}
 				}
 			}
 			return currentGear;
 		}
 
-
 		protected virtual uint DoCheckDownshift(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity,
 			NewtonMeter inTorque, PerSecond inAngularVelocity, uint currentGear)
 		{