diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index a7c0d0416121e795078b830e4cf17e9a7e98bda8..fc29667638a997a256ba58a29d2cbd03f1df8a99 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -269,7 +269,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOTransmission);
 
 				aux.Add(Constants.Auxiliaries.IDs.PTOConsumer,
-					n => container.CycleData.LeftSample.PTOActive ? null : data.PTO.LossMap.GetTorqueLoss(n) * n);
+					n => container.PTOActive ? null : data.PTO.LossMap.GetTorqueLoss(n) * n);
 				container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.PTOConsumer,
 					Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOConsumer);
 			}
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
index 4487d0eb16d617a334d87891f0507bad393396f7..cb1f4ecb750baf3d012f251ac7522b871bdc7706 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
@@ -406,6 +406,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			get { return DrivingCycle.CycleData; }
 		}
 
+		public bool PTOActive
+		{
+			get { return DrivingCycle.PTOActive; }
+		}
+
 		public DrivingCycleData.DrivingCycleEntry CycleLookAhead(Meter distance)
 		{
 			return DrivingCycle.CycleLookAhead(distance);
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs
index 5c5d33f124be1016bd3658cd861853252614d74f..3eea43638fb2f0f88e4a9383db556e1510b32311 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs
@@ -46,6 +46,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
 		/// </summary>
 		CycleData CycleData { get; }
 
+		bool PTOActive { get; }
+
 		/// <summary>
 		/// get a single driving-cycle entry at a certain distance ahead
 		/// altitude is interpolated between sampling points, slope is averaged
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
index 81254a2372c34326cc3db2bc52872dde09cfc51b..44fef3bf3e1619b44afcf0f633ae32c402a5d5c8 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs
@@ -208,8 +208,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				case 3:
 					CurrentState.WaitPhase++;
 					IdleController.ActivateIdle();
+					PTOActive = false;
 					return Left.StoppingTime / 2;
 				case 2:
+					PTOActive = true;
 					IdleController.ActivatePTO();
 					return IdleController.GetNextCycleTime();
 			}
@@ -223,6 +225,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				case 5:
 					CurrentState.WaitPhase++;
 					IdleController.ActivateIdle();
+					PTOActive = false;
 					return Constants.SimulationSettings.TargetTimeInterval;
 				case 3:
 				case 7:
@@ -233,6 +236,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 					CurrentState.WaitPhase++;
 					return Left.StoppingTime / 2 - 2 * Constants.SimulationSettings.TargetTimeInterval;
 				case 4:
+					PTOActive = true;
 					IdleController.ActivatePTO();
 					return IdleController.GetNextCycleTime();
 			}
@@ -455,6 +459,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 		}
 
+		public bool PTOActive { get; private set; }
+
 		public DrivingCycleData.DrivingCycleEntry CycleLookAhead(Meter distance)
 		{
 			var absDistance = CurrentState.Distance + distance;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/IdleControllerSwitcher.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/IdleControllerSwitcher.cs
index a6a415cba37c18f50adc4a0fa706a14e62d60909..6682c6287a8cfa4f09ad3e45485abab7cff8df99 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/IdleControllerSwitcher.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/IdleControllerSwitcher.cs
@@ -32,6 +32,7 @@
 using System;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.OutputData;
 
@@ -65,8 +66,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public ITnOutPort RequestPort
 		{
-			set
-			{
+			set {
 				_idleController.RequestPort = value;
 				_ptoController.RequestPort = value;
 			}
@@ -103,8 +103,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public Second Duration
 		{
-			get
-			{
+			get {
 				if (_ptoController != null) {
 					return _ptoController.Duration;
 				}
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
index 5789c105b023e03e9e8e59c47ae0b118c02bddeb..948ab95cd8ec8ae326092065f59e54ceeaa9235a 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
@@ -307,6 +307,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 		}
 
+		public bool PTOActive
+		{
+			get { return false; }
+		}
+
 		public DrivingCycleData.DrivingCycleEntry CycleLookAhead(Meter distance)
 		{
 			return new DrivingCycleData.DrivingCycleEntry(CycleIterator.RightSample);
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs
index bfb53ef49928d6c77d4b6f264b99c0c17ba7723d..4832ec5296cf0bcc37b5aa98131841b10a4e4ab0 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs
@@ -183,6 +183,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 		}
 
+		public bool PTOActive
+		{
+			get { return true; }
+		}
+
 		public DrivingCycleData.DrivingCycleEntry CycleLookAhead(Meter distance)
 		{
 			return new DrivingCycleData.DrivingCycleEntry() {
diff --git a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs
index b74dd43c8624c43af046873cbdf7d2c1f12a0c17..194c38bb1d6439ad625666ab0475a5095ef6a5f7 100644
--- a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs
@@ -63,8 +63,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 
 		public CycleData CycleData
 		{
-			get
-			{
+			get {
 				return new CycleData {
 					AbsTime = 0.SI<Second>(),
 					AbsDistance = 0.SI<Meter>(),
@@ -74,6 +73,8 @@ namespace TUGraz.VectoCore.Tests.Utils
 			}
 		}
 
+		public bool PTOActive { get; set; }
+
 		public DrivingCycleData.DrivingCycleEntry CycleLookAhead(Meter distance)
 		{
 			return new DrivingCycleData.DrivingCycleEntry() {
diff --git a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs
index 054e95e08251d3c726bf1c58a93af0e9671c86f0..5b94e64f13ac437b60446f17072d623aff79d5eb 100644
--- a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs
@@ -190,6 +190,8 @@ namespace TUGraz.VectoCore.Tests.Utils
 
 		public VectoRun.Status RunStatus { get; set; }
 
+		public bool PTOActive { get; private set; }
+
 		public void AddComponent(VectoSimulationComponent component)
 		{
 			Components.Add(component);