diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index 19a19a3904591e4aefb59c3fe7d8648718354dbd..289164f7f4154301d549e67253aefd8a71b23576 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -52,6 +52,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		public PowertrainBuilder(IModalDataContainer modData, WriteSumData sumWriter = null)
 		{
+			if (modData == null) {
+				throw new VectoException("Modal Data Container can't be null");
+			}
 			_modData = modData;
 			_sumWriter = sumWriter;
 		}
@@ -130,7 +133,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				.AddComponent(data.AngularGearData != null ? new AngularGear(container, data.AngularGearData) : null)
 				.AddRetarderAndGearbox(data.Retarder, GetGearbox(container, data.GearboxData), container);
 			if (data.GearboxData.Type.ManualTransmission()) {
-				powertrain.AddComponent(new Clutch(container, data.EngineData));
+				powertrain = powertrain.AddComponent(new Clutch(container, data.EngineData));
 			}
 			powertrain.AddComponent(new CombustionEngine(container, data.EngineData))
 				.AddAuxiliaries(container, data);
@@ -182,7 +185,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				.AddComponent(data.AngularGearData != null ? new AngularGear(container, data.AngularGearData) : null)
 				.AddRetarderAndGearbox(data.Retarder, GetGearbox(container, data.GearboxData), container);
 			if (data.GearboxData.Type.ManualTransmission()) {
-				powertrain.AddComponent(new Clutch(container, data.EngineData));
+				powertrain = powertrain.AddComponent(new Clutch(container, data.EngineData));
 			}
 			powertrain.AddComponent(new CombustionEngine(container, data.EngineData))
 				.AddAuxiliaries(container, data);