diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index a759363b83c16d472ef524f1941d43d46c5426f3..e6716a6f60ad29c4025df33483f8bf6199ce98fe 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -428,6 +428,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			//}
 
 			var vehicle = new Vehicle(container, data.VehicleData, data.AirdragData);
+			//var dummyDriver = new Driver(container, data.DriverData, new DefaultDriverStrategy(container));
 			var powertrain = vehicle
 				.AddComponent(new Wheels(container, data.VehicleData.DynamicTyreRadius, data.VehicleData.WheelsInertia))
 				.AddComponent(new Brakes(container))
@@ -592,6 +593,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					return new Gearbox(container, strategy, runData);
 				case GearboxType.ATPowerSplit:
 				case GearboxType.ATSerial:
+					new ATClutchInfo(container);
 					return new ATGearbox(container, strategy, runData);
 				default:
 					throw new ArgumentOutOfRangeException("Unknown Gearbox Type", runData.GearboxData.Type.ToString());
@@ -640,9 +642,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		private static IGearbox GetSimpleGearbox(IVehicleContainer container, VectoRunData runData)
 		{
-			return runData.GearboxData.Type.AutomaticTransmission()
-				? (IGearbox)new ATGearbox(container, null, runData)
-				: new Gearbox(container, null, runData);
+			if (runData.GearboxData.Type.AutomaticTransmission()) {
+				new ATClutchInfo(container);
+				return new ATGearbox(container, null, runData);
+			}
+			return new Gearbox(container, null, runData);
 		}
 
 
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
index 8a90391b03a8339b15d9167c2e4003dbdca16ea0..0979903a5d7dfa03e06cf025d67fdf08fc608339 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
@@ -55,22 +55,22 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		private List<Tuple<int, VectoSimulationComponent>> _components =
 			new List<Tuple<int, VectoSimulationComponent>>();
 
-		public  IEngineInfo EngineInfo { get; protected internal set; }
-		public IEngineControl EngineCtl { get; protected set; }
-		public IGearboxInfo GearboxInfo { get; protected set; }
-		public IGearboxControl GearboxCtl { get; protected set; }
-		public IAxlegearInfo AxlegearInfo { get; protected set; }
-		public IVehicleInfo VehicleInfo { get; protected set; }
-		public IBrakes Brakes { get; protected set; }
-		public IWheelsInfo WheelsInfo { get; protected set; }
-		public IDriverInfo DriverInfo { get; protected set; }
-		public IHybridController HybridController { get; protected set; }
+		public virtual IEngineInfo EngineInfo { get; protected internal set; }
+		public virtual IEngineControl EngineCtl { get; protected set; }
+		public virtual IGearboxInfo GearboxInfo { get; protected set; }
+		public virtual IGearboxControl GearboxCtl { get; protected set; }
+		public virtual IAxlegearInfo AxlegearInfo { get; protected set; }
+		public virtual IVehicleInfo VehicleInfo { get; protected set; }
+		public virtual IBrakes Brakes { get; protected set; }
+		public virtual IWheelsInfo WheelsInfo { get; protected set; }
+		public virtual IDriverInfo DriverInfo { get; protected set; }
+		public virtual IHybridController HybridController { get; protected set; }
 
-		public IMileageCounter MileageCounter { get; protected set; }
+		public virtual IMileageCounter MileageCounter { get; protected set; }
 
-		public IClutchInfo ClutchInfo { get; protected set; }
+		public virtual IClutchInfo ClutchInfo { get; protected set; }
 
-		public IDrivingCycleInfo DrivingCycleInfo { get; protected set; }
+		public virtual IDrivingCycleInfo DrivingCycleInfo { get; protected set; }
 
 		internal ISimulationOutPort Cycle;
 
@@ -94,12 +94,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		#region IVehicleContainer
 
-		public IModalDataContainer ModalData
+		public virtual IModalDataContainer ModalData
 		{
 			get { return ModData; }
 		}
 
-		public ISimulationOutPort GetCycleOutPort()
+		public virtual ISimulationOutPort GetCycleOutPort()
 		{
 			return Cycle;
 		}
@@ -111,9 +111,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			return ElectricMotors[pos];
 		}
 
-		public ITorqueConverterControl TorqueConverterCtl { get; private set; }
+		public virtual ITorqueConverterControl TorqueConverterCtl { get; private set; }
 
-		public void AddComponent(VectoSimulationComponent component)
+		public virtual void AddComponent(VectoSimulationComponent component)
 		{
 			var commitPriority = 0;
 
@@ -168,7 +168,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		}
 
 
-		public void CommitSimulationStep(Second time, Second simulationInterval)
+		public virtual void CommitSimulationStep(Second time, Second simulationInterval)
 		{
 			Log.Info("VehicleContainer committing simulation. time: {0}, dist: {1}, speed: {2}", time,
 				MileageCounter.Distance, VehicleInfo?.VehicleSpeed ?? 0.KMPHtoMeterPerSecond());
@@ -186,7 +186,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			}
 		}
 
-		public void FinishSimulationRun(Exception e = null)
+		public virtual void FinishSimulationRun(Exception e = null)
 		{
 			Log.Info("VehicleContainer finishing simulation.");
 			ModData?.Finish(RunStatus, e);
@@ -197,22 +197,22 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			DrivingCycleInfo?.FinishSimulation();
 		}
 
-		public IEnumerable<ISimulationPreprocessor> GetPreprocessingRuns
+		public virtual IEnumerable<ISimulationPreprocessor> GetPreprocessingRuns
 		{
 			get { return new ReadOnlyCollection<ISimulationPreprocessor>(Preprocessors); }
 		}
 
-		public void AddPreprocessor(ISimulationPreprocessor simulationPreprocessor)
+		public virtual void AddPreprocessor(ISimulationPreprocessor simulationPreprocessor)
 		{
 			Preprocessors.Add(simulationPreprocessor);
 		}
 
-		public void StartSimulationRun()
+		public virtual void StartSimulationRun()
 		{
 			ModData?.Reset();
 		}
 
-		public VectoRun.Status RunStatus { get; set; }
+		public virtual VectoRun.Status RunStatus { get; set; }
 
 		#endregion
 
@@ -221,15 +221,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			return new ReadOnlyCollection<VectoSimulationComponent>(_components.Select(x => x.Item2).ToList());
 		}
 
-		public bool HasElectricMotor { get; private set; }
+		public virtual bool HasElectricMotor { get; private set; }
 
-		public bool HasCombustionEngine { get; private set; }
+		public virtual bool HasCombustionEngine { get; private set; }
 
-		public bool HasGearbox { get; private set; }
+		public virtual bool HasGearbox { get; private set; }
 
 		
-		public VectoRunData RunData { get; set; }
-		public ExecutionMode ExecutionMode { get; }
+		public virtual VectoRunData RunData { get; set; }
+		public virtual ExecutionMode ExecutionMode { get; }
 
 
 		
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATClutchInfo.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATClutchInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5134dd322550c12552c4946f31aa12b364ddd319
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ATClutchInfo.cs
@@ -0,0 +1,36 @@
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.Simulation;
+using TUGraz.VectoCore.Models.Simulation.DataBus;
+using TUGraz.VectoCore.OutputData;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Impl {
+	internal class ATClutchInfo : VectoSimulationComponent, IClutchInfo
+	{
+		public ATClutchInfo(IVehicleContainer container) : base(container)
+		{
+		}
+
+		#region Overrides of VectoSimulationComponent
+
+		protected override void DoWriteModalResults(Second time, Second simulationInterval, IModalDataContainer container)
+		{
+			
+		}
+
+		protected override void DoCommitSimulationStep()
+		{
+			
+		}
+
+		#endregion
+
+		#region Implementation of IClutchInfo
+
+		public bool ClutchClosed(Second absTime)
+		{
+			return true;
+		}
+
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
index 59bf83c3dfaff933a9aab70adcb6dcf5dac88b2b..c2e2068410e211d00c65e390d58ba165eb00a7da 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs
@@ -290,10 +290,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					switch (ADAS.EcoRoll) {
 						case EcoRollType.None: break;
 						case EcoRollType.WithoutEngineStop:
-							(dataBus as IGearboxControl).DisengageGearbox = true;
+							dataBus.GearboxCtl.DisengageGearbox = true;
 							break;
 						case EcoRollType.WithEngineStop:
-							(dataBus as IGearboxControl).DisengageGearbox = true;
+							dataBus.GearboxCtl.DisengageGearbox = true;
 							dataBus.EngineCtl.CombustionEngineOn = false;
 							break;
 						default: throw new ArgumentOutOfRangeException();
@@ -303,7 +303,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				case PCCStates.OutsideSegment:
 				case PCCStates.WithinSegment:
 				case PCCStates.PCCinterrupt:
-					(dataBus as IGearboxControl).DisengageGearbox = false;
+					dataBus.GearboxCtl.DisengageGearbox = false;
 					dataBus.EngineCtl.CombustionEngineOn = true;
 					break;
 				default: throw new ArgumentOutOfRangeException();
@@ -466,13 +466,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 			switch (EcoRollState.State) {
 				case EcoRollStates.EcoRollOn:
-					(dBus as IGearboxControl).DisengageGearbox = true;
+					dBus.GearboxCtl.DisengageGearbox = true;
 					if (ADAS.EcoRoll == EcoRollType.WithEngineStop) {
 						dBus.EngineCtl.CombustionEngineOn = false;
 					}
 					return;
 				case EcoRollStates.EcoRollOff:
-					(dBus as IGearboxControl).DisengageGearbox = false;
+					dBus.GearboxCtl.DisengageGearbox = false;
 					if (ADAS.EcoRoll == EcoRollType.WithEngineStop) {
 						dBus.EngineCtl.CombustionEngineOn = true;
 					}
@@ -1000,7 +1000,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					debug.Add(new { action = "Coast:(Success & Acc<0) -> Accelerate", first });
 				}
 			} else {
-				if (DataBus.GearboxInfo.GearboxType.AutomaticTransmission() && (DataBus as IGearboxInfo).DisengageGearbox) {
+				if (DataBus.GearboxInfo.GearboxType.AutomaticTransmission() && DataBus.GearboxInfo.DisengageGearbox) {
 					first = Driver.DrivingActionCoast(absTime, ds, velocityWithOverspeed, gradient);
 				} else {
 					first = Driver.DrivingActionAccelerate(absTime, ds, targetVelocity, gradient);
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
index 307d8453059c23522c3575edb3e3b5543d4ff620..fbf944e98258295de3bdb43ef0a28217223caeb5 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
@@ -726,7 +726,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				return retVal;
 			}
 
-			var engaged = (DataBus as IGearboxInfo).DisengageGearbox;
+			var engaged = DataBus.GearboxInfo.DisengageGearbox;
 			try {
 				operatingPoint = SearchBrakingPower(
 					absTime, operatingPoint.SimulationDistance, gradient,
@@ -829,8 +829,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			retVal.SimulationDistance = ds;
 			retVal.Driver.OperatingPoint = operatingPoint;
 
-			if (DataBus.GearboxInfo.GearboxType.AutomaticTransmission() && engaged != (DataBus as IGearboxInfo).DisengageGearbox) {
-				(DataBus as IGearboxControl).DisengageGearbox = engaged;
+			if (DataBus.GearboxInfo.GearboxType.AutomaticTransmission() && engaged != DataBus.GearboxInfo.DisengageGearbox) {
+				DataBus.GearboxCtl.DisengageGearbox = engaged;
 			}
 			return retVal;
 		}
@@ -856,7 +856,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 			if (!tcOp.Item2.IsBetween(dragTorque - inertiaTq - auxTqDemand, maxTorque - inertiaTq - auxTqDemand)) {
 
-				(DataBus as IGearboxControl).DisengageGearbox = true;
+				DataBus.GearboxCtl.DisengageGearbox = true;
 				operatingPoint = SearchBrakingPower(
 					absTime, operatingPoint.SimulationDistance, gradient,
 					operatingPoint.Acceleration, response);
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/SimplePowertrainContainer.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/SimplePowertrainContainer.cs
index e8225c417908b6b16f72b9e0a88246857bd29c68..c7b1285f75d07a12b70f7f9f8661bed1cca9b50a 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/SimplePowertrainContainer.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/SimplePowertrainContainer.cs
@@ -1,11 +1,12 @@
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.Simulation.DataBus;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.OutputData;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl {
-	public class SimplePowertrainContainer : VehicleContainer
+	public class SimplePowertrainContainer : VehicleContainer, IDriverInfo
 	{
 		public SimplePowertrainContainer(VectoRunData runData, IModalDataContainer modData = null) : base(runData.ExecutionMode, modData)
 		{
@@ -28,5 +29,26 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl {
 		}
 
 		public override Second AbsTime { get { return 0.SI<Second>(); } }
+
+		public override IDriverInfo DriverInfo { get { return base.DriverInfo ?? this; } }
+
+		#region Implementation of IDriverInfo
+
+		public DrivingBehavior DriverBehavior
+		{
+			get { return  DrivingBehavior.Driving; }
+		}
+
+		public DrivingAction DrivingAction
+		{
+			get { return DrivingAction.Accelerate; }
+		}
+
+		public MeterPerSquareSecond DriverAcceleration
+		{
+			get { return 0.SI<MeterPerSquareSecond>(); }
+		}
+
+		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index eb09125b63a445f5c63b70ece554e2addcbb76f7..b1a93e8021a53ad765b51f0ad1ef83dd1012e642 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -408,6 +408,7 @@
     <Compile Include="Models\Simulation\DataBus\IElectricMotorInfo.cs" />
     <Compile Include="Models\Simulation\DataBus\IEngineControl.cs" />
     <Compile Include="InputData\Reader\Impl\DeclarationModeSingleBusVectoRunDataFactory.cs" />
+    <Compile Include="Models\SimulationComponent\Impl\ATClutchInfo.cs" />
     <Compile Include="Models\Simulation\Impl\PCCEcoRollEngineStopPreprocessor.cs" />
     <Compile Include="Models\Simulation\Impl\PCCSegmentPreprocessor.cs" />
     <Compile Include="Models\Simulation\ISimulationPreprocessor.cs" />
diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
index 624f093d780fa262468ebac0e5cc765477c25e68..f7e3d6ad46d007d902691a70e041dc101d6fa0ce 100644
--- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
@@ -120,6 +120,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				.AddComponent(new DummyRetarder(container))
 				.AddComponent(new ATGearbox(container, new ATShiftStrategy(runData, container), runData))
 				.AddComponent(engine);
+			new ATClutchInfo(container);
 
 			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("ZERO", 0.SI<Watt>());
diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
index e85ef0b76469e4e8e95ac50dabd42b91a3f35748..a10360ffa809a4257a130663cc490b3c54ec4914 100644
--- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
@@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				.AddComponent(new Gearbox(container, new AMTShiftStrategy(runData, container), runData))
 				.AddComponent(clutch)
 				.AddComponent(engine);
-
+			
 			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("ZERO", 0.SI<Watt>());
 			container.ModalData.AddAuxiliary("ZERO");
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
index 48536307476bae851ae474364ee3ff99218d72ec..71a68b27ee732f16db1007d58817c137f89725fc 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxPowertrainTest.cs
@@ -66,6 +66,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			var absTime = 0.SI<Second>();
 			var ds = 1.SI<Meter>();
+			container.AbsTime = absTime;
 
 			retVal = container.Cycle.Request(absTime, ds);
 			container.CommitSimulationStep(absTime, retVal.SimulationInterval);
@@ -75,7 +76,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			container.Cycle.Request(absTime, ds);
 			container.CommitSimulationStep(absTime, retVal.SimulationInterval);
-			Assert.AreEqual(4u, container.GearboxInfo);
+			Assert.AreEqual(4u, container.GearboxInfo.Gear);
 			AssertHelper.AreRelativeEqual(65.6890, container.EngineInfo.EngineSpeed);
 		}
 
@@ -90,13 +91,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize", 7500.0.SI<Kilogram>(),
 				19300.SI<Kilogram>());
 			var retVal = container.Cycle.Initialize();
-			Assert.AreEqual(4u, container.GearboxInfo);
+			Assert.AreEqual(4u, container.GearboxInfo.Gear);
 			Assert.IsInstanceOf<ResponseSuccess>(retVal);
 
 			AssertHelper.AreRelativeEqual(560.RPMtoRad(), container.EngineInfo.EngineSpeed);
 
 			var absTime = 0.SI<Second>();
 			var ds = 1.SI<Meter>();
+			container.AbsTime = absTime;
 
 			retVal = container.Cycle.Request(absTime, ds);
 			container.CommitSimulationStep(absTime, retVal.SimulationInterval);
@@ -121,13 +123,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var container = Truck40tPowerTrain.CreatePowerTrain(cycle, "Gearbox_Initialize", 7500.0.SI<Kilogram>(),
 				19300.SI<Kilogram>());
 			var retVal = container.Cycle.Initialize();
-			Assert.AreEqual(12u, container.GearboxInfo);
+			Assert.AreEqual(12u, container.GearboxInfo.Gear);
 			Assert.IsInstanceOf<ResponseSuccess>(retVal);
 
 			AssertHelper.AreRelativeEqual(1195.996.RPMtoRad(), container.EngineInfo.EngineSpeed, toleranceFactor: 1e-3);
 
 			var absTime = 0.SI<Second>();
 			var ds = 1.SI<Meter>();
+			container.AbsTime = absTime;
 
 			retVal = container.Cycle.Request(absTime, ds);
 			container.CommitSimulationStep(absTime, retVal.SimulationInterval);
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
index 7dc576a73800a13562c2dff7dc880796042f82a6..9f136e9e191c72c1d68d0fec20061588f40799bd 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
@@ -227,6 +227,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var dt = 2.SI<Second>();
 			var tq = torque.SI<NewtonMeter>();
 			var n = inAngularSpeed.RPMtoRad();
+			container.AbsTime = absTime;
 			var response = (ResponseSuccess)gearbox.OutPort().Request(absTime, dt, tq * ratio, n / ratio);
 
 			Assert.IsFalse(gearbox.CurrentState.TorqueLossResult.Extrapolated);
@@ -306,6 +307,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var dt = 2.SI<Second>();
 			var tq = torque.SI<NewtonMeter>();
 			var n = inAngularSpeed.RPMtoRad();
+			container.AbsTime = absTime;
 			var response = (ResponseSuccess)gearbox.OutPort().Request(absTime, dt, tq * ratio, n / ratio);
 
 			Assert.IsTrue( gearbox.CurrentState.TorqueLossResult.Extrapolated);
@@ -341,6 +343,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var dt = 2.SI<Second>();
 			var t = torque.SI<NewtonMeter>();
 			var n = inAngularSpeed.RPMtoRad();
+			container.AbsTime = absTime;
+
 			var response = (ResponseSuccess)gearbox.OutPort().Request(absTime, dt, t * ratio, n / ratio);
 
 			Assert.IsTrue(gearbox.CurrentState.TorqueLossResult.Extrapolated);
@@ -379,6 +383,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var dt = 2.SI<Second>();
 			var t = torque.SI<NewtonMeter>();
 			var n = inAngularSpeed.RPMtoRad();
+			container.AbsTime = absTime;
 			var response = (ResponseSuccess)gearbox.OutPort().Request(absTime, dt, t * ratio, n / ratio);
 
 			Assert.AreEqual(absTime, port.AbsTime);
@@ -483,6 +488,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			Assert.AreEqual(gear, gearbox.Gear);
 
 			gearbox.Gear = (uint)gear;
+			container.AbsTime = absTime;
 			var response = gearbox.OutPort().Request(absTime, dt, outTorque, angularVelocity);
 			Assert.IsTrue(response.GetType() == responseType);
 
@@ -532,6 +538,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			
 
 			gearbox.Gear = (uint)gear;
+			container.AbsTime = absTime;
 			var gearShiftResponse = gearbox.OutPort().Request(absTime, dt, torque, angularVelocity);
 			Assert.IsTrue(gearShiftResponse.GetType() == responseType);
 
@@ -588,6 +595,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			
 
 			gearbox.Gear = (uint)gear;
+			container.AbsTime = absTime;
 			var response = gearbox.OutPort().Request(absTime, dt, torque, angularVelocity);
 			Assert.IsTrue(response.GetType() == responseType);