diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PEVAMTShiftStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PEVAMTShiftStrategy.cs
index da3e53ba337d5a57b6cc75f1e0e499e7295edd9b..d1efc09b8f88f172c0a0ffbb21f16ea3c0bff8e1 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PEVAMTShiftStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PEVAMTShiftStrategy.cs
@@ -322,7 +322,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 			var minFc = results.MinBy(x => x.Item2);
 
-			if (minFc.Item2.IsGreater(fcCurrent * shiftStrategyParameters.RatingFactorCurrentGear)) {
+			var ratingFactor = outTorque < 0
+				? 1 / shiftStrategyParameters.RatingFactorCurrentGear
+				: shiftStrategyParameters.RatingFactorCurrentGear;
+
+			if (minFc.Item2.IsGreater(fcCurrent * ratingFactor)) {
 				return minFc.Item1;
 			}
 
@@ -511,8 +515,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			var fcCurrent = GetFCRating(responseCurrent);
 
 			var minFc = results.MinBy(x => x.Item2);
-			
-			if (minFc.Item2.IsGreater(fcCurrent * shiftStrategyParameters.RatingFactorCurrentGear)) {
+
+			var ratingFactor = outTorque < 0
+				? 1 / shiftStrategyParameters.RatingFactorCurrentGear
+				: shiftStrategyParameters.RatingFactorCurrentGear;
+
+
+			if (minFc.Item2.IsGreater(fcCurrent * ratingFactor)) {
 				return minFc.Item1;
 			}