diff --git a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
index 06b705c1cf8938569684f16dc04bfb5993c5441c..579937a717c7c96df841874d5e3bc131b8f5e196 100644
--- a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
+++ b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
@@ -33,7 +33,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 		private readonly double _ratio;
 
 		/// <summary>
-		/// The Loss map. [X=Input EngineSpeed, Y=Output Torque] => Z=Input Torque
+		/// The Loss map. [X=Output EngineSpeed, Y=Output Torque] => Z=Torque Loss
 		/// </summary>
 		private readonly DelauneyMap _lossMap;
 
@@ -131,8 +131,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 			_invertedLossMap = new DelauneyMap();
 			foreach (var entry in _entries) {
 				var outTorque = (entry.InputTorque - entry.TorqueLoss) * _ratio;
-
-				_lossMap.AddPoint(entry.InputSpeed.Value(), outTorque.Value(), entry.TorqueLoss.Value());
+				var outSpeed = entry.InputSpeed.Value() / _ratio;
+				_lossMap.AddPoint(outSpeed, outTorque.Value(), entry.TorqueLoss.Value());
 				_invertedLossMap.AddPoint(entry.InputSpeed.Value(), entry.InputTorque.Value(), entry.TorqueLoss.Value());
 			}
 
@@ -142,20 +142,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 
 
 		/// <summary>
-		///	Computes the INPUT torque given by the input-engineSpeed and the output-torque.
+		///	Computes the torque loss (input side) given by the output gearbox speed and the output-torque.
 		/// </summary>
-		/// <param name="inAngularVelocity">Angular speed at input side.</param>
+		/// <param name="outAngularVelocity">Angular speed at output side.</param>
 		/// <param name="outTorque">Torque at output side (as requested by the previous componend towards the wheels).</param>
-		/// <returns>Torque needed at input side (towards the engine).</returns>
-		public NewtonMeter GetInTorque(PerSecond inAngularVelocity, NewtonMeter outTorque)
+		/// <returns>Torque loss as seen on input side (towards the engine).</returns>
+		public NewtonMeter GetTorqueLoss(PerSecond outAngularVelocity, NewtonMeter outTorque)
 		{
-			var torqueLoss = _lossMap.Interpolate(inAngularVelocity.Value(), outTorque.Value(), true).SI<NewtonMeter>();
-
-			var inTorque = outTorque / _ratio + torqueLoss;
+			var torqueLoss = _lossMap.Interpolate(outAngularVelocity.Value(), outTorque.Value(), true).SI<NewtonMeter>();
 
-			Log.Debug("GearboxLoss {0}: {1}, inAngularVelocity: {2}, outTorque: {3}", GearName, torqueLoss,
-				inAngularVelocity, outTorque);
-			return inTorque;
+			Log.Debug("GearboxLoss {0}: {1}, outAngularVelocity: {2}, outTorque: {3}", GearName, torqueLoss,
+				outAngularVelocity, outTorque);
+			return torqueLoss;
 		}
 
 		///  <summary>
diff --git a/VectoCore/Models/SimulationComponent/Impl/AxleGear.cs b/VectoCore/Models/SimulationComponent/Impl/AxleGear.cs
index f6c3797cddc123c209eb1e568566ee74137cd129..0b272421f821c69a68539c6d84d1fba2abadfa97 100644
--- a/VectoCore/Models/SimulationComponent/Impl/AxleGear.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/AxleGear.cs
@@ -62,9 +62,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			Log.Debug("request: torque: {0}, angularVelocity: {1}", torque, angularVelocity);
 
 			var inAngularVelocity = angularVelocity * ModelData.AxleGear.Ratio;
-			var avgInAngularVelocity = (PreviousState.InAngularVelocity + inAngularVelocity) / 2.0;
+			var avgOutAngularVelocity = (PreviousState.OutAngularVelocity + angularVelocity) / 2.0;
 
-			var inTorque = ModelData.AxleGear.LossMap.GetInTorque(avgInAngularVelocity, torque);
+			var torqueLoss = ModelData.AxleGear.LossMap.GetTorqueLoss(avgOutAngularVelocity, torque);
+			var inTorque = torque / ModelData.AxleGear.Ratio + torqueLoss;
 
 			CurrentState.SetState(inTorque, inAngularVelocity, torque, angularVelocity);
 
@@ -77,7 +78,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		public IResponse Initialize(NewtonMeter torque, PerSecond angularVelocity)
 		{
 			var inAngularVelocity = angularVelocity * ModelData.AxleGear.Ratio;
-			var inTorque = ModelData.AxleGear.LossMap.GetInTorque(inAngularVelocity, torque);
+			var torqueLoss = ModelData.AxleGear.LossMap.GetTorqueLoss(angularVelocity, torque);
+			var inTorque = torque / ModelData.AxleGear.Ratio + torqueLoss;
 
 			PreviousState.SetState(inTorque, inAngularVelocity, torque, angularVelocity);
 
diff --git a/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs b/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs
index 32b3a9bac222d6c5a8bc5ab32d8b6815838d438f..73c862dbe06b4255a8e4733265dddbf44896d464 100644
--- a/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/Gearbox.cs
@@ -129,8 +129,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			var inAngularVelocity = outAngularVelocity * ModelData.Gears[Gear].Ratio;
-			var inTorque = ModelData.Gears[Gear].LossMap.GetInTorque(inAngularVelocity, outTorque);
-
+			var torqueLoss = ModelData.Gears[Gear].LossMap.GetTorqueLoss(outAngularVelocity, outTorque);
+			var inTorque = outTorque / ModelData.Gears[Gear].Ratio + torqueLoss;
 			var torqueLossInertia = outAngularVelocity.IsEqual(0)
 				? 0.SI<NewtonMeter>()
 				: Formulas.InertiaPower(inAngularVelocity, PreviousState.InAngularVelocity, ModelData.Inertia, dt) /
@@ -141,12 +141,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			PreviousState.SetState(inTorque, inAngularVelocity, outTorque, outAngularVelocity);
 			PreviousState.InertiaTorqueLossOut = 0.SI<NewtonMeter>();
 			PreviousState.Gear = Gear;
+			Disengaged = false;
 
 			var response = NextComponent.Initialize(inTorque, inAngularVelocity);
-			if (response is ResponseSuccess) {
-				PreviousState.InAngularVelocity = inAngularVelocity;
-				Disengaged = false;
-			}
 
 			return response;
 		}
@@ -154,7 +151,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		internal ResponseDryRun Initialize(uint gear, NewtonMeter outTorque, PerSecond outAngularVelocity)
 		{
 			var inAngularVelocity = outAngularVelocity * ModelData.Gears[gear].Ratio;
-			var inTorque = ModelData.Gears[gear].LossMap.GetInTorque(inAngularVelocity, outTorque);
+			var torqueLoss = ModelData.Gears[gear].LossMap.GetTorqueLoss(outAngularVelocity, outTorque);
+			var inTorque = outTorque / ModelData.Gears[gear].Ratio + torqueLoss;
 
 			if (!inAngularVelocity.IsEqual(0)) {
 				var alpha = (ModelData.Inertia.IsEqual(0))
@@ -302,8 +300,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			var avgOutAngularVelocity = (PreviousState.OutAngularVelocity + outAngularVelocity) / 2.0;
-			var inTorque = ModelData.Gears[Gear].LossMap.GetInTorque(avgOutAngularVelocity * ModelData.Gears[Gear].Ratio,
-				outTorque);
+			var torqueLoss = ModelData.Gears[Gear].LossMap.GetTorqueLoss(avgOutAngularVelocity, outTorque);
+			var inTorque = outTorque / ModelData.Gears[Gear].Ratio + torqueLoss;
+
 			var inAngularVelocity = outAngularVelocity * ModelData.Gears[Gear].Ratio;
 
 			if (dryRun) {
diff --git a/VectoCore/Models/SimulationComponent/Impl/ManualGearbox.cs b/VectoCore/Models/SimulationComponent/Impl/ManualGearbox.cs
index 9ea05e176f9d77c8ab6b450ae28b03615283df94..d0197c03eaae1b68b6dc9a7e8575b94ab67032fe 100644
--- a/VectoCore/Models/SimulationComponent/Impl/ManualGearbox.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/ManualGearbox.cs
@@ -33,6 +33,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 	public class ManualGearbox : VectoSimulationComponent, IGearbox, ITnOutPort, ITnInPort, IClutchInfo
 	{
 		private readonly GearboxData _data;
+		private PerSecond PreviousOutAngularSpeed { get; set; }
 		private ITnOutPort NextComponent { get; set; }
 		private PerSecond PreviousInAngularSpeed { get; set; }
 		private Watt PowerLossInertia { get; set; }
@@ -81,15 +82,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			var inAngularVelocity = outAngularVelocity * _data.Gears[Gear].Ratio;
-			var inTorque = _data.Gears[Gear].LossMap.GetInTorque(inAngularVelocity, outTorque);
+			var inTorque = outTorque / _data.Gears[Gear].Ratio;
+			var torqueLoss = _data.Gears[Gear].LossMap.GetTorqueLoss(outAngularVelocity, outTorque);
+			inTorque += torqueLoss;
 
 			var torqueLossInertia = outAngularVelocity.IsEqual(0)
 				? 0.SI<NewtonMeter>()
-				: Formulas.InertiaPower(inAngularVelocity, PreviousInAngularSpeed, _data.Inertia, dt) / inAngularVelocity;
+				: Formulas.InertiaPower(outAngularVelocity, PreviousOutAngularSpeed, _data.Inertia, dt) / inAngularVelocity;
 
 			inTorque += torqueLossInertia;
 
 			var response = NextComponent.Initialize(inTorque, inAngularVelocity);
+			PreviousOutAngularSpeed = outAngularVelocity;
 			return response;
 		}
 
@@ -116,7 +120,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 
 			var inEngineSpeed = outAngularVelocity * _data.Gears[Gear].Ratio;
-			var inTorque = _data.Gears[Gear].LossMap.GetInTorque(inEngineSpeed, outTorque);
+			var torqueLoss = _data.Gears[Gear].LossMap.GetTorqueLoss(outAngularVelocity, outTorque);
+			var inTorque = outTorque / _data.Gears[Gear].Ratio + torqueLoss;
 
 			PowerLoss = inTorque * inEngineSpeed - outTorque * outAngularVelocity;
 
diff --git a/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs b/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
index 9a6ec8b0ccd4435684fc122f2d616a709ebad38b..f54a4c5db18553619c3e3c927c26613f6d70a6c6 100644
--- a/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
+++ b/VectoCoreTest/Models/SimulationComponentData/GearboxDataTest.cs
@@ -79,12 +79,13 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 			var torqueToWheels = Formulas.PowerToTorque(PvD, SpeedToAngularSpeed(speed, rdyn));
 			var torqueFromEngine = 0.SI<NewtonMeter>();
 
-			var angSpeed = SpeedToAngularSpeed(speed, rdyn) * axleData.AxleGear.Ratio;
+			var angSpeed = SpeedToAngularSpeed(speed, rdyn);
 			if (TestContext.DataRow["Gear"].ToString() == "A") {
-				torqueFromEngine = axleData.AxleGear.LossMap.GetInTorque(angSpeed, torqueToWheels);
+				torqueFromEngine = torqueToWheels / axleData.AxleGear.Ratio;
+				torqueFromEngine += axleData.AxleGear.LossMap.GetTorqueLoss(angSpeed, torqueToWheels);
 			}
 
-			var powerEngine = Formulas.TorqueToPower(torqueFromEngine, angSpeed);
+			var powerEngine = Formulas.TorqueToPower(torqueFromEngine, angSpeed * axleData.AxleGear.Ratio);
 			var loss = powerEngine - PvD;
 
 			Assert.AreEqual(double.Parse(TestContext.DataRow["GbxPowerLoss"].ToString(), CultureInfo.InvariantCulture),
@@ -108,33 +109,33 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 			var map = TransmissionLossMap.Create(data, 1.0, "1");
 
 			// test inside the triangles
-			AssertHelper.AreRelativeEqual(35, map.GetInTorque(25.RPMtoRad(), 25.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(60, map.GetInTorque(75.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(25.RPMtoRad(), 25.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(75.RPMtoRad(), 50.SI<NewtonMeter>()));
 
 			// test interpolation on edges
-			AssertHelper.AreRelativeEqual(5, map.GetInTorque(50.RPMtoRad(), -5.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(55, map.GetInTorque(0.RPMtoRad(), 45.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(50, map.GetInTorque(50.RPMtoRad(), 40.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(85, map.GetInTorque(50.RPMtoRad(), 75.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(35, map.GetInTorque(100.RPMtoRad(), 25.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(50.RPMtoRad(), -5.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(0.RPMtoRad(), 45.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(50.RPMtoRad(), 40.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(50.RPMtoRad(), 75.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(100.RPMtoRad(), 25.SI<NewtonMeter>()));
 
 			// test interpolation on corner points
-			AssertHelper.AreRelativeEqual(10, map.GetInTorque(0.RPMtoRad(), 0.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(100, map.GetInTorque(0.RPMtoRad(), 90.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(100.RPMtoRad(), -10.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(70, map.GetInTorque(100.RPMtoRad(), 60.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(0.RPMtoRad(), 0.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(0.RPMtoRad(), 90.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(100.RPMtoRad(), -10.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(100.RPMtoRad(), 60.SI<NewtonMeter>()));
 
 			// test outside the corners
-			AssertHelper.AreRelativeEqual(-10, map.GetInTorque(-20.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(130, map.GetInTorque(-20.RPMtoRad(), 120.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(-10, map.GetInTorque(120.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(130, map.GetInTorque(120.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(-20.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(-20.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(120.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(120.RPMtoRad(), 120.SI<NewtonMeter>()));
 
 			// test outside the edges
-			AssertHelper.AreRelativeEqual(60, map.GetInTorque(-20.RPMtoRad(), 50.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(130, map.GetInTorque(50.RPMtoRad(), 120.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(-10, map.GetInTorque(50.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(60, map.GetInTorque(120.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(-20.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(50.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(50.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(120.RPMtoRad(), 50.SI<NewtonMeter>()));
 		}
 
 		[TestMethod]
@@ -197,33 +198,33 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 			var map = TransmissionLossMap.Create(data, 1.0, "1");
 
 			// test inside the triangles
-			AssertHelper.AreRelativeEqual(30, map.GetInTorque(25.RPMtoRad(), 25.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(67.5, map.GetInTorque(75.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(5, map.GetTorqueLoss(25.RPMtoRad(), 25.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(17.5, map.GetTorqueLoss(75.RPMtoRad(), 50.SI<NewtonMeter>()));
 
 			// test interpolation on edges
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(50.RPMtoRad(), -5.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(49.5, map.GetInTorque(0.RPMtoRad(), 45.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(49, map.GetInTorque(50.RPMtoRad(), 40.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(92.5, map.GetInTorque(50.RPMtoRad(), 75.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(42.5, map.GetInTorque(100.RPMtoRad(), 25.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(5, map.GetTorqueLoss(50.RPMtoRad(), -5.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(4.5, map.GetTorqueLoss(0.RPMtoRad(), 45.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(9, map.GetTorqueLoss(50.RPMtoRad(), 40.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(17.5, map.GetTorqueLoss(50.RPMtoRad(), 75.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(17.5, map.GetTorqueLoss(100.RPMtoRad(), 25.SI<NewtonMeter>()));
 
 			// test interpolation on corner points
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(0.RPMtoRad(), 0.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(99, map.GetInTorque(0.RPMtoRad(), 90.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(100.RPMtoRad(), -10.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(88, map.GetInTorque(100.RPMtoRad(), 60.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(0, map.GetTorqueLoss(0.RPMtoRad(), 0.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(9, map.GetTorqueLoss(0.RPMtoRad(), 90.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(100.RPMtoRad(), -10.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(28, map.GetTorqueLoss(100.RPMtoRad(), 60.SI<NewtonMeter>()));
 
 			// test outside the corners
-			AssertHelper.AreRelativeEqual(-20, map.GetInTorque(-20.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(130, map.GetInTorque(-20.RPMtoRad(), 120.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(-10, map.GetInTorque(120.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(160, map.GetInTorque(120.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(0, map.GetTorqueLoss(-20.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(-20.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(120.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(40, map.GetTorqueLoss(120.RPMtoRad(), 120.SI<NewtonMeter>()));
 
 			// test outside the edges
-			AssertHelper.AreRelativeEqual(55, map.GetInTorque(-20.RPMtoRad(), 50.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(145, map.GetInTorque(50.RPMtoRad(), 120.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(-15, map.GetInTorque(50.RPMtoRad(), -20.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(75, map.GetInTorque(120.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(5, map.GetTorqueLoss(-20.RPMtoRad(), 50.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(25, map.GetTorqueLoss(50.RPMtoRad(), 120.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(5, map.GetTorqueLoss(50.RPMtoRad(), -20.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(25, map.GetTorqueLoss(120.RPMtoRad(), 50.SI<NewtonMeter>()));
 		}
 
 		[TestMethod]
@@ -252,10 +253,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 			AssertHelper.AreRelativeEqual(7.5, map.GetOutTorque(100.RPMtoRad(), 25.SI<NewtonMeter>()));
 
 			// test interpolation on corner points
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(0.RPMtoRad(), 0.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(100, map.GetInTorque(0.RPMtoRad(), 90.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(0, map.GetInTorque(100.RPMtoRad(), -10.SI<NewtonMeter>()));
-			AssertHelper.AreRelativeEqual(100, map.GetInTorque(100.RPMtoRad(), 60.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(0, map.GetTorqueLoss(0.RPMtoRad(), 0.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(0.RPMtoRad(), 90.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(10, map.GetTorqueLoss(100.RPMtoRad(), -10.SI<NewtonMeter>()));
+			AssertHelper.AreRelativeEqual(40, map.GetTorqueLoss(100.RPMtoRad(), 60.SI<NewtonMeter>()));
 
 			// test outside the corners
 			AssertHelper.AreRelativeEqual(-20, map.GetOutTorque(-20.RPMtoRad(), -20.SI<NewtonMeter>(), true));