diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb
index 5270646f979a0a449d12cc3e6baccfa6c3e44060..e2e193e6931125dbf41332c297c74f677d46ae0b 100644
--- a/VECTO/GUI/VehicleForm.vb
+++ b/VECTO/GUI/VehicleForm.vb
@@ -10,7 +10,6 @@
 ' See the LICENSE.txt for the specific language governing permissions and limitations.
 'Option Infer On
 
-Imports System.Collections.Generic
 Imports System.IO
 Imports System.Linq
 Imports TUGraz.VectoCommon.InputData
@@ -536,7 +535,7 @@ Public Class VehicleForm
 				gbEMTorqueLimits.Enabled = False
 				tpGensetComponents.Visible = False
 			Case VectoSimulationJobType.ParallelHybridVehicle
-				gbRetarderLosses.Enabled = False
+				gbRetarderLosses.Enabled = True
 				lblTitle.Text = "Parallel Hybrid Vehicle"
 				cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(Of PowertrainPosition)(Function(t) t.GetLabel,
 					Function(x) x.IsParallelHybrid() Or x = PowertrainPosition.HybridPositionNotSet)
@@ -1237,7 +1236,10 @@ Public Class VehicleForm
 		End If
 
 		If (selectedValue IsNot Nothing) Then
-			CbRtType.SelectedValue = selectedValue
+			If Not selectedValue.Equals(CbRtType.SelectedValue) Then
+				MsgBox("Retarder has changed due to change of electric motor position. Please check.", MsgBoxStyle.Information)
+				CbRtType.SelectedValue = selectedValue
+			End If
 		End If
 	End Sub
 
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index c034b805960f3207521d48dca02ba526cd96bb07..2ac260ec15fcdadb799e6571b0c5333c378f5201 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -445,11 +445,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				var whrCharger = new WHRCharger(container, dcDcConverterEfficiency);
 				es.Connect(whrCharger);
 				engine.WHRCharger = whrCharger;
-
 			}
 
-			// DistanceBasedDrivingCycle --> driver --> vehicle --> wheels 
-			// --> axleGear --> (retarder) --> gearBox --> (retarder) --> clutch --> engine <-- Aux
 			var cycle = new DistanceBasedDrivingCycle(container, data.Cycle);
 			var idleController = GetIdleController(data.PTO, engine, container);
 			cycle.IdleController = idleController as IdleControllerSwitcher;
@@ -1075,10 +1072,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		private static ElectricSystem ConnectREESS(VectoRunData data, VehicleContainer container)
 		{
 			if (data.BatteryData != null && data.SuperCapData != null) {
-				throw new VectoException("Powertrain requires either Battery OR SuperCap, but both are defined.");
+				throw new VectoException("Powertrain requires either Battery OR SuperCapacitor, but both are defined.");
 			}
 			if (data.BatteryData is null && data.SuperCapData is null) {
-				throw new VectoException("Powertrain requires either Battery OR SuperCap, but none are defined.");
+				throw new VectoException("Powertrain requires either Battery OR SuperCapacitor, but none are defined.");
 			}
 
 			var es = new ElectricSystem(container);
diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
index 6a4223310b0bf3405c9a6a287d486281b8d16821..c97c31755c7392444a8db861b9e15e07793f0a8b 100644
--- a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
@@ -1682,7 +1682,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 				.AddComponent(GetElectricMachine(PowertrainPosition.HybridP3, runData.ElectricMachinesData, container, es, ctl))
 				.AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null)
 				.AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
-				.AddComponent((IGearbox)gearbox, container)
+				.AddComponent((IGearbox)gearbox)
 				.AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
 				.AddComponent(GetElectricMachine(PowertrainPosition.HybridP2, runData.ElectricMachinesData, container, es, ctl))
 				.AddComponent(clutch)
@@ -1768,16 +1768,8 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 
 			var container = new VehicleContainer(
 				ExecutionMode.Engineering, modData, x => { sumData?.Write(x, 1, 1, runData); }) { RunData = runData };
-
-
-			var clutch = new SwitchableClutch(container, runData.EngineData);
-
-			var gbxStrategy = new AMTShiftStrategyOptimized(container);
 			
-			var gearbox = new Gearbox(container, gbxStrategy);
-
 			var engine = new StopStartCombustionEngine(container, runData.EngineData);
-			var idleController = engine.IdleController;
 			var cycle = new DistanceBasedDrivingCycle(container, cycleData);
 
 			var aux = new ElectricAuxiliary(container);
@@ -1785,25 +1777,15 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			cycle
 				.AddComponent(new Driver(container, runData.DriverData, new DefaultDriverStrategy(container)))
 				.AddComponent(new Vehicle(container, runData.VehicleData, runData.AirdragData))
-				.AddComponent(new Wheels(container, runData.VehicleData.DynamicTyreRadius,
-					runData.VehicleData.WheelsInertia))
+				.AddComponent(new Wheels(container, runData.VehicleData.DynamicTyreRadius, runData.VehicleData.WheelsInertia))
 				.AddComponent(new Brakes(container))
-				//.AddComponent(ctl)
-				//.AddComponent(GetElectricMachine(PowertrainPosition.HybridP4, runData.ElectricMachinesData, container,
-				//	es, ctl))
 				.AddComponent(new AxleGear(container, runData.AxleGearData))
-				//.AddComponent(GetElectricMachine(PowertrainPosition.HybridP3, runData.ElectricMachinesData, container,
-				//	es, ctl))
 				.AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null)
 				.AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
-				.AddComponent(gearbox, container)
+				.AddComponent(new Gearbox(container, new AMTShiftStrategyOptimized(container)))
 				.AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
-				//.AddComponent(GetElectricMachine(PowertrainPosition.HybridP2, runData.ElectricMachinesData, container,
-				//	es, ctl))
-				.AddComponent(clutch)
-				//.AddComponent(GetElectricMachine(PowertrainPosition.HybridP1, runData.ElectricMachinesData, container,
-				//	es, ctl))
-				.AddComponent(engine, idleController)
+				.AddComponent(new SwitchableClutch(container, runData.EngineData))
+				.AddComponent(engine, engine.IdleController)
 				.AddAuxiliaries(container, runData);
 
 			return container;
diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs
index 4a661e437190861fdd1fd0758acfc3d84b9a549f..eecebf5b50f48b9c8a1db58bd28865958be8607a 100644
--- a/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Hybrid/SerialHybridTest.cs
@@ -634,11 +634,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 						? (IHybridControlledGearbox)new ATGearbox(container, ctl.ShiftStrategy)
 						: new Gearbox(container, ctl.ShiftStrategy);
 					powertrain = powertrain.AddComponent(new AxleGear(container, runData.AxleGearData))
-						.AddComponent(runData.AngledriveData != null
-							? new Angledrive(container, runData.AngledriveData)
-							: null)
+						.AddComponent(runData.AngledriveData != null ? new Angledrive(container, runData.AngledriveData) : null)
 						.AddComponent(runData.Retarder.Type == RetarderType.TransmissionOutputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
-						.AddComponent((IGearbox)gearbox, container)
+						.AddComponent((IGearbox)gearbox)
 						.AddComponent(runData.Retarder.Type == RetarderType.TransmissionInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
 						.AddComponent(GetElectricMachine(PowertrainPosition.BatteryElectricE2, runData.ElectricMachinesData,
 							container,
@@ -649,7 +647,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 					
 				case PowertrainPosition.BatteryElectricE3:
 					powertrain = powertrain.AddComponent(new AxleGear(container, runData.AxleGearData))
-						.AddComponent(runData.Retarder.Type == RetarderType.AxlegearInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio):null)
+						.AddComponent(runData.Retarder.Type == RetarderType.AxlegearInputRetarder ? new Retarder(container, runData.Retarder.LossMap, runData.Retarder.Ratio) : null)
 						.AddComponent(GetElectricMachine(PowertrainPosition.BatteryElectricE3, runData.ElectricMachinesData,
 							container, es, ctl));
 					new DummyGearboxInfo(container, new GearshiftPosition(0));