diff --git a/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs b/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs
index 8b671c7eaf04c4ae656ff0d605895310501c370e..aea7bd95cc2f181a70bf6fe00150dd8f34e6e821 100644
--- a/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/DistanceBasedDrivingCycleTest.cs
@@ -41,17 +41,31 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			var startDistance = cycleData.Entries.First().Distance.Value();
 			var absTime = 0.SI<Second>();
-			var response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
 
+			// waiting time of 40 seconds is split up to 3 steps: 0.5, 39, 0.5
+			var response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
 			Assert.IsInstanceOfType(response, typeof(ResponseSuccess));
-
 			Assert.AreEqual(0, driver.LastRequest.TargetVelocity.Value(), Tolerance);
 			Assert.AreEqual(0.028416069495827, driver.LastRequest.Gradient.Value(), 1E-12);
 			Assert.AreEqual(0.5, driver.LastRequest.dt.Value(), Tolerance);
+			container.CommitSimulationStep(absTime, response.SimulationInterval);
+			absTime += response.SimulationInterval;
 
+			response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
+			Assert.IsInstanceOfType(response, typeof(ResponseSuccess));
+			Assert.AreEqual(0, driver.LastRequest.TargetVelocity.Value(), Tolerance);
+			Assert.AreEqual(0.028416069495827, driver.LastRequest.Gradient.Value(), 1E-12);
+			Assert.AreEqual(39, driver.LastRequest.dt.Value(), Tolerance);
 			container.CommitSimulationStep(absTime, response.SimulationInterval);
-			absTime += 40.SI<Second>();
+			absTime += response.SimulationInterval;
 
+			response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
+			Assert.IsInstanceOfType(response, typeof(ResponseSuccess));
+			Assert.AreEqual(0, driver.LastRequest.TargetVelocity.Value(), Tolerance);
+			Assert.AreEqual(0.028416069495827, driver.LastRequest.Gradient.Value(), 1E-12);
+			Assert.AreEqual(0.5, driver.LastRequest.dt.Value(), Tolerance);
+			container.CommitSimulationStep(absTime, response.SimulationInterval);
+			absTime += response.SimulationInterval;
 
 			response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
 
diff --git a/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs b/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
index 2e4b6cb58f8cf64ed45e89dd74d8eef549bcc4d8..eb0875b2b02f9896df2cacb5ef270c352927f37f 100644
--- a/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
@@ -24,7 +24,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 		public const string AccelerationFile = @"TestData\Components\Truck.vacc";
 		public const string EngineFile = @"TestData\Components\40t_Long_Haul_Truck.veng";
 		public const string AxleGearLossMap = @"TestData\Components\Axle.vtlm";
-		public const string GearboxLossMap = @"TestData\Components\Indirect Gear.vtlm";
+		public const string GearboxIndirectLoss = @"TestData\Components\Indirect Gear.vtlm";
+		public const string GearboxDirectLoss = @"TestData\Components\Direct Gear.vtlm";
 		public const string GearboxShiftPolygonFile = @"TestData\Components\ShiftPolygons.vgbs";
 		public const string GearboxFullLoadCurveFile = @"TestData\Components\Gearbox.vfld";
 
@@ -101,7 +102,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			Assert.AreEqual(11u, container.Gear);
 			Assert.IsInstanceOfType(retVal, typeof(ResponseSuccess));
 
-			AssertHelper.AreRelativeEqual(1195.996.RPMtoRad(), container.EngineSpeed);
+			AssertHelper.AreRelativeEqual(1530.263.RPMtoRad(), container.EngineSpeed, 0.001);
 
 			var absTime = 0.SI<Second>();
 			var ds = 1.SI<Meter>();
@@ -172,9 +173,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 					Tuple.Create((uint)i,
 						new GearData {
 							FullLoadCurve = FullLoadCurve.ReadFromFile(GearboxFullLoadCurveFile),
-							LossMap = TransmissionLossMap.ReadFromFile(GearboxLossMap, ratio),
+							LossMap =
+								(i != 11)
+									? TransmissionLossMap.ReadFromFile(GearboxIndirectLoss, ratio)
+									: TransmissionLossMap.ReadFromFile(GearboxDirectLoss, ratio),
 							Ratio = ratio,
-							//ShiftPolygon = ShiftPolygon.ReadFromFile(GearboxShiftPolygonFile),
 							ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(engineData.FullLoadCurve, engineData.IdleSpeed)
 						}))
 					.ToDictionary(k => k.Item1 + 1, v => v.Item2),
diff --git a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
index 67ab3cedabffc3951c0b87c8df7e5661f3d312b5..a0f15477d12a6ada4765b441ccb206210c809e85 100644
--- a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
@@ -283,9 +283,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			gearbox.OutPort().Initialize(0.SI<NewtonMeter>(), 0.SI<PerSecond>());
 
-			var first = gearbox.OutPort().Request(absTime, dt, 1000.SI<NewtonMeter>(), 1000.RPMtoRad());
+			// just for test case mock driver
 			driver.VehicleStopped = false;
-			absTime += dt;
 
 			foreach (var exp in expected) {
 				var expectedT = exp.t.SI<NewtonMeter>();