diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 14612799ae2e4e380f83aae708ad13dc13fb450d..9a507c1abc84d48d6a4bb1508b13f64a57268379 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -249,6 +249,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var engineSpeed85kmhSecondToLastGear = ComputeEngineSpeed85kmh(gears[gears.Count - 2], axlegearRatio,
 					dynamicTyreRadius, engine);
 
+				var maxDragTorque = engine.FullLoadCurve.MaxDragTorque * 1.1;
+
 				var p1 = new Point(engine.IdleSpeed.Value() / 2, 0);
 				var p2 = new Point(engine.IdleSpeed.Value() * 1.1, 0);
 				var p3 = new Point(engineSpeed85kmhLastGear.Value() * 0.9,
@@ -256,7 +258,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 				var p4 =
 					new Point((engineSpeed85kmhLastGear + (engineSpeed85kmhSecondToLastGear - engineSpeed85kmhLastGear) / 3).Value(), 0);
-				var p5 = new Point(fullLoadCurve.RatedSpeed.Value(), fullLoadCurve.MaxTorque.Value());
+				var p5 = new Point(fullLoadCurve.RatedSpeed.Value() * 0.95, fullLoadCurve.MaxTorque.Value());
 
 				var p6 = new Point(p2.X, VectoMath.Interpolate(p1, p3, p2.X));
 				var p7 = new Point(p4.X, VectoMath.Interpolate(p2, p5, p4.X));
@@ -264,10 +266,13 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var fldMargin = ShiftPolygonFldMargin(fullLoadCurve.FullLoadEntries, engineSpeed85kmhLastGear * 0.9);
 				var downshiftCorr = MoveDownshiftBelowFld(Edge.Create(p6, p3), fldMargin, 1.1 * fullLoadCurve.MaxTorque);
 				var downShift =
-					new[] { p2, downshiftCorr.P1, downshiftCorr.P2 }.Select(point => new ShiftPolygon.ShiftPolygonEntry() {
-						AngularSpeed = point.X.SI<PerSecond>(),
-						Torque = point.Y.SI<NewtonMeter>()
-					}).ToList();
+					new[] { p2, downshiftCorr.P1, downshiftCorr.P2 }.Select(
+						point => new ShiftPolygon.ShiftPolygonEntry() {
+							AngularSpeed = point.X.SI<PerSecond>(),
+							Torque = point.Y.SI<NewtonMeter>()
+						}).ToList();
+
+				downShift[0].Torque = maxDragTorque;
 
 				var upShift = new List<ShiftPolygon.ShiftPolygonEntry>();
 				if (gear >= gears.Count - 1) {
@@ -288,7 +293,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 						AngularSpeed = point.X.SI<PerSecond>(),
 						Torque = point.Y.SI<NewtonMeter>()
 					}).ToList();
-
+				upShift[0].Torque = maxDragTorque;
 				return new ShiftPolygon(downShift, upShift);
 			}