diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs
index 32dd75df726cdfbc6e170d08b6f91b119a3d9ae2..2e6111328d9f76c41556d9ac0f5b08632626afc4 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATGearbox.cs
@@ -235,31 +235,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			return retVal;
 		}
 
-		protected internal NewtonMeter ComputeShiftLosses(Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity)
-		{
-			var torqueGbxIn = outTorque / ModelData.Gears[Gear].Ratio;
-			var deltaEngineSpeed = DataBus.EngineSpeed - outAngularVelocity * ModelData.Gears[Gear].Ratio;
-			var deltaClutchSpeed = (DataBus.EngineSpeed - PreviousState.OutAngularVelocity * ModelData.Gears[Gear].Ratio) / 2;
-			var torqueInertia = EngineInertia * deltaEngineSpeed / dt;
-			var averageEngineSpeed = (DataBus.EngineSpeed + outAngularVelocity * ModelData.Gears[Gear].Ratio) / 2;
-			var torqueLoss = (torqueGbxIn + torqueInertia) * deltaClutchSpeed / averageEngineSpeed;
-
-			return torqueLoss.Abs();
-		}
-
-		private bool ConsiderShiftLosses(GearInfo nextGear, NewtonMeter torqueOut)
-		{
-			if (torqueOut.IsSmaller(0)) {
-				return false;
-			}
-			if (nextGear.Gear == 0) {
-				return false;
-			}
-			if (ModelData.Gears[2].HasTorqueConverter) {
-				return false; // nextGear.TorqueConverterLocked || nextGear.Gear == 2;
-			}
-			return nextGear.TorqueConverterLocked;
-		}
 
 		private IResponse RequestEngaged(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity,
 			bool dryRun)
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AbstractGearbox.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AbstractGearbox.cs
index f04fa7759cc2d74a8f1d39671bba12ffbd744ec6..3c5065a01872a9d6a3d00ba78493219e6e4f26d5 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AbstractGearbox.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AbstractGearbox.cs
@@ -42,8 +42,8 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
 	public abstract class AbstractGearbox<TStateType> :
-			StatefulProviderComponent<TStateType, ITnOutPort, ITnInPort, ITnOutPort>, ITnOutPort, ITnInPort, IGearbox,
-			IClutchInfo
+		StatefulProviderComponent<TStateType, ITnOutPort, ITnInPort, ITnOutPort>, ITnOutPort, ITnInPort, IGearbox,
+		IClutchInfo
 		where TStateType : GearboxState, new()
 	{
 		/// <summary>
@@ -125,6 +125,35 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		#endregion
 
 		public abstract bool ClutchClosed(Second absTime);
+
+		protected bool ConsiderShiftLosses(GearInfo nextGear, NewtonMeter torqueOut)
+		{
+			if (ModelData.Type.ManualTransmission()) {
+				return false;
+			}
+			if (torqueOut.IsSmaller(0)) {
+				return false;
+			}
+			if (nextGear.Gear == 0) {
+				return false;
+			}
+			if (ModelData.Gears[2].HasTorqueConverter) {
+				return false; // nextGear.TorqueConverterLocked || nextGear.Gear == 2;
+			}
+			return nextGear.TorqueConverterLocked;
+		}
+
+		protected internal NewtonMeter ComputeShiftLosses(Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity)
+		{
+			var torqueGbxIn = outTorque / ModelData.Gears[Gear].Ratio;
+			var deltaEngineSpeed = DataBus.EngineSpeed - outAngularVelocity * ModelData.Gears[Gear].Ratio;
+			var deltaClutchSpeed = (DataBus.EngineSpeed - PreviousState.OutAngularVelocity * ModelData.Gears[Gear].Ratio) / 2;
+			var torqueInertia = EngineInertia * deltaEngineSpeed / dt;
+			var averageEngineSpeed = (DataBus.EngineSpeed + outAngularVelocity * ModelData.Gears[Gear].Ratio) / 2;
+			var torqueLoss = (torqueGbxIn + torqueInertia) * deltaClutchSpeed / averageEngineSpeed;
+
+			return torqueLoss.Abs();
+		}
 	}
 
 	public class GearboxState : SimpleComponentState