diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
index 9c25c304145277d4ccc9981177402021fdfdc254..276238786ad892e4e299912920b6f74b98aaf2b7 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONElectricMotor.cs
@@ -16,7 +16,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON {
 		}
 
 		public override PerSecond ContinuousTorqueSpeed {
-			get { return Body.GetValueOrDefault<double>("ContinuousTorqueSpeed")?.RPMtoRad() ?? 0.RPMtoRad(); }
+			get { return Body.GetValueOrDefault<double>("ContinuousTorqueSpeed")?.RPMtoRad(); }
 		}
 
 		public override NewtonMeter OverloadTorque {
@@ -24,7 +24,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON {
 		}
 
 		public override PerSecond OverloadTestSpeed {
-			get { return Body.GetValueOrDefault<double>("OverloadTorqueSpeed")?.RPMtoRad() ?? 0.RPMtoRad(); }
+			get { return Body.GetValueOrDefault<double>("OverloadTorqueSpeed")?.RPMtoRad(); }
 		}
 	}
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
index 889b084edbd44bc75d1e580977199e3f27b64aba..7ebb331a15bcfb56f6348ffe3b55a51f47cf296b 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
@@ -775,7 +775,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				EfficiencyMap = ElectricMotorMapReader.Create(motorData.EfficiencyMap, count),
 				Inertia = motorData.Inertia,
 				ContinuousTorque = motorData.ContinuousTorque * count,
-				ContinuousPowerSpeed = motorData.ContinuousTorqueSpeed,
+				ContinuousTorqueSpeed = motorData.ContinuousTorqueSpeed,
+				OverloadTorque = motorData.OverloadTorque ?? 0.SI<NewtonMeter>() * count,
+				OverloadTestSpeed = motorData.OverloadTestSpeed ?? 0.RPMtoRad(),
 				OverloadTime = motorData.OverloadTime,
 				OverloadRegenerationFactor = motorData.OverloadRecoveryFactor,
 				RatioADC = ratio,
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
index 1297712a0d5a9951d9130b93999ae3e429a47928..e22a0db1f5bc6dbacdb0c3790c9d2fc61734947a 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs
@@ -23,11 +23,19 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 		public NewtonMeter ContinuousTorque { get; internal set; }
 
 		[SIRange(0, double.MaxValue)]
-		public Second OverloadTime { get; internal set; }
-		
+		public PerSecond ContinuousTorqueSpeed { get; internal set; }
+
+
+		[SIRange(double.MinValue, double.MaxValue)]
+		public NewtonMeter OverloadTorque { get; set; }
+
 		[SIRange(0, double.MaxValue)]
-		public PerSecond ContinuousPowerSpeed { get; internal set; }
+		public PerSecond OverloadTestSpeed { get; set; }
+
 
+		[SIRange(0, double.MaxValue)]
+		public Second OverloadTime { get; internal set; }
+		
 		[SIRange(0, 1)]
 		public double OverloadRegenerationFactor { get; internal set; }
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs
index 2cc9a31e52fe5af2a789eff9f10cc6c35fc34366..7e9ff4a809457b960f5e04c9838f0543a2c4457f 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/ElectricMotor.cs
@@ -54,13 +54,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 			ContinuousTorque = ModelData.ContinuousTorque;
 			var contElPwr =
-				ModelData.EfficiencyMap.LookupElectricPower(ModelData.ContinuousPowerSpeed, -ContinuousTorque).ElectricalPower ??
-				ModelData.EfficiencyMap.LookupElectricPower(ModelData.ContinuousPowerSpeed, ModelData.FullLoadCurve.FullLoadDriveTorque(ModelData.ContinuousPowerSpeed), true).ElectricalPower;
-			ContinuousPowerLoss = -contElPwr - ModelData.ContinuousTorque * ModelData.ContinuousPowerSpeed; // loss needs to be positive
-			var maxTqDrive = ModelData.FullLoadCurve.FullLoadDriveTorque(ModelData.ContinuousPowerSpeed);
-			var peakElPwr = ModelData.EfficiencyMap.LookupElectricPower(ModelData.ContinuousPowerSpeed, maxTqDrive, true)
+				ModelData.EfficiencyMap.LookupElectricPower(ModelData.ContinuousTorqueSpeed, -ContinuousTorque).ElectricalPower ??
+				ModelData.EfficiencyMap.LookupElectricPower(ModelData.ContinuousTorqueSpeed, ModelData.FullLoadCurve.FullLoadDriveTorque(ModelData.ContinuousTorqueSpeed), true).ElectricalPower;
+			ContinuousPowerLoss = -contElPwr - ContinuousTorque * ModelData.ContinuousTorqueSpeed; // loss needs to be positive
+			
+			var peakElPwr = ModelData.EfficiencyMap.LookupElectricPower(ModelData.OverloadTestSpeed, -ModelData.OverloadTorque, true)
 				.ElectricalPower;
-			var peakPwrLoss = -peakElPwr + ModelData.ContinuousPowerSpeed * maxTqDrive; // losses need to be positive
+			var peakPwrLoss = -peakElPwr + ModelData.OverloadTorque * ModelData.OverloadTestSpeed; // losses need to be positive
+
 			OverloadBuffer = (peakPwrLoss - ContinuousPowerLoss) * ModelData.OverloadTime;
 			if (OverloadBuffer.IsSmallerOrEqual(0) && !(container is SimplePowertrainContainer)) {
 				Log.Error("Overload buffer for thermal de-rating is negative! Please check electric motor data!");