diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
index ab5a24e25b72b105e862b5842b6d3188952fb7e8..49749f994fcb11f8381547a17053d755196c789b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
@@ -510,6 +510,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		public IList<IElectricMotorVoltageLevel> VoltageLevels => 
 			_voltageLevels ?? (_voltageLevels = GetVoltageLevels());
+
 		public TableData DragCurve => ReadDragCurve();
 		public TableData Conditioning => ElementExists(XMLNames.Conditioning)
 			? ReadConditioning() : null;
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
index 64a42dba7127b3c5b3504093b3b3ff153bab9646..68b4bb322bda844197a0520fe91522c5c38a69ad 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
@@ -265,9 +265,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 				iepc = new StandardValuesInputData.StandardValueIEPCInputData(iepc, 1.SI<Volt>(), 10E9.SI<Volt>());
 			}
 
-
-
-
 			var pos = PowertrainPosition.IEPC;
 			var count = iepc.DesignTypeWheelMotor && iepc.NrOfDesignTypeWheelMotorMeasured == 1 ? 2 : 1;
 
@@ -277,7 +274,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 				.Select(x => new { x.GearNumber, x.Ratio, Diff = Math.Round(Math.Abs(x.Ratio - 1), 6) }).GroupBy(x => x.Diff)
 				.OrderBy(x => x.Key).First().OrderBy(x => x.Ratio).Reverse().First();
 
-
 			var voltageLevels = new List<ElectricMotorVoltageLevelData>();
 
 			foreach (var entry in iepc.VoltageLevels.OrderBy(x => x.VoltageLevel).AsEnumerable()) {
@@ -447,13 +443,17 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 			if (iepc == null) {
 				return null;
 			}
+			if (iepc.CertificationMethod == CertificationMethod.StandardValues) {
+				//Fake one very low voltage level and one very high for standard values
+				iepc = new StandardValuesInputData.StandardValueIEPCInputData(iepc, 1.SI<Volt>(), 10E9.SI<Volt>());
+			}
 
-			var pos = PowertrainPosition.IEPC;
+            var pos = PowertrainPosition.IEPC;
 			var count = iepc.DesignTypeWheelMotor && iepc.NrOfDesignTypeWheelMotorMeasured == 1 ? 2 : 1;
             var gearRatioUsedForMeasurement = iepc.Gears
 				.Select(x => new { x.GearNumber, x.Ratio, Diff = Math.Round(Math.Abs(x.Ratio - 1), 6) }).GroupBy(x => x.Diff)
 				.OrderBy(x => x.Key).First().OrderBy(x => x.Ratio).Reverse().First();
-			var voltageLevels = new List<ElectricMotorVoltageLevelData>();
+			//var voltageLevels = new List<ElectricMotorVoltageLevelData>();
 			var genericIEPCData = _genericIepcData.CreateIEPCElectricMotorData(iepc);
 			genericIEPCData.OverloadRecoveryFactor = DeclarationData.OverloadRecoveryFactor;
 			genericIEPCData.TransmissionLossMap =
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusElectricMotorData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusElectricMotorData.cs
index 1d0b903e0fc62b826ba500b498f14aea49502663..a0cd0268b56cb776eb93d60820482671adbc23e2 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusElectricMotorData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusElectricMotorData.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents;
@@ -29,8 +30,12 @@ namespace TUGraz.VectoCore.Models.GenericModelData
 			ElectricMachineEntry<IElectricMotorDeclarationInputData> electricMachineEntry,
 			IList<Tuple<Volt, TableData>> torqueLimits, Volt averageVoltage)
 		{
-			var electricMachineType = electricMachineEntry.ElectricMachine.ElectricMachineType;
-			var efficiencyData = GetVoltageLevels(electricMachineEntry, electricMachineType, torqueLimits);
+			var motorData = electricMachineEntry.ElectricMachine;
+			if (electricMachineEntry.ElectricMachine.CertificationMethod == CertificationMethod.StandardValues) {
+				motorData = new StandardValuesInputData.StandardValuesEmInputData(motorData, 1.SI<Volt>(), 10e9.SI<Volt>());
+			}
+            var electricMachineType = electricMachineEntry.ElectricMachine.ElectricMachineType;
+			var efficiencyData = GetVoltageLevels(motorData, electricMachineEntry.Count, electricMachineType, torqueLimits);
 			var powertrainPosition = electricMachineEntry.Position;
             //var adcLossMap = electricMachineEntry.MechanicalTransmissionLossMap;
 			var adcRatio = electricMachineEntry.RatioADC;
@@ -41,6 +46,7 @@ namespace TUGraz.VectoCore.Models.GenericModelData
 					? TransmissionLossMapReader.CreateEmADCLossMap(adcLossMap, adcRatio, "EM ADC LossMap")
 					: TransmissionLossMapReader.CreateEmADCLossMap(DeclarationData.ElectricMachineDefaultMechanicalTransmissionEfficiency, adcRatio, "EM ADC LossMap Eff");
 
+			
 
             var electricMotorData = new ElectricMotorData {
 				RatioPerGear = electricMachineEntry.RatioPerGear,
@@ -49,7 +55,7 @@ namespace TUGraz.VectoCore.Models.GenericModelData
 				EfficiencyData = efficiencyData,
 				Inertia = electricMachineEntry.ElectricMachine.Inertia * electricMachineEntry.Count,//??
 				RatioADC = electricMachineEntry.RatioADC,
-				Overload = CalculateOverloadData(electricMachineEntry.ElectricMachine, electricMachineEntry.Count, efficiencyData, averageVoltage ),
+				Overload = CalculateOverloadData(motorData, electricMachineEntry.Count, efficiencyData, averageVoltage ),
 				TransmissionLossMap = lossMap,
 				OverloadRecoveryFactor = DeclarationData.OverloadRecoveryFactor,
 			};
@@ -132,11 +138,10 @@ namespace TUGraz.VectoCore.Models.GenericModelData
         }
 
         private VoltageLevelData GetVoltageLevels(
-			ElectricMachineEntry<IElectricMotorDeclarationInputData> electricMachineEntry,
+			IElectricMotorDeclarationInputData motorData, int count,
 			ElectricMachineType electricMachineType, IList<Tuple<Volt, TableData>> torqueLimits)
 		{
-			var voltageLevels = electricMachineEntry.ElectricMachine.VoltageLevels;
-			var count = electricMachineEntry.Count;
+			var voltageLevels = motorData.VoltageLevels;
 			var normalizedMap = GetNormalizedEfficiencyMap(electricMachineType);