diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricMachineType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricMachineType.cs
new file mode 100644
index 0000000000000000000000000000000000000000..71770a0b238750f0bc6ac76c441bc06d050bc8db
--- /dev/null
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/Components/VIFElectricMachineType.cs
@@ -0,0 +1,56 @@
+using System.Collections.Generic;
+using System.Xml.Linq;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCommon.Utils;
+
+
+namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.Components
+{
+	public class VIFElectricMachineType : VIFElectricMachineGENType
+	{
+		public VIFElectricMachineType(IVIFReportFactory vifFactory) : base(vifFactory) { }
+
+		#region Implementation of IXmlTypeWriter
+
+		public override XElement GetElement(IDeclarationInputDataProvider inputData)
+		{
+			var electricMachineEntries = inputData.JobInputData.Vehicle.Components.ElectricMachines.Entries;
+			if (electricMachineEntries == null || electricMachineEntries.Count == 0)
+				return null;
+
+			foreach (var electricMachine in electricMachineEntries) {
+				if (electricMachine.Position != PowertrainPosition.GEN)
+					return GetElectricMachineType(electricMachine);
+			}
+
+			return null;
+		}
+
+		#endregion
+		
+		private XElement GetElectricMachineType(ElectricMachineEntry<IElectricMotorDeclarationInputData> electricMachineData)
+		{
+			return new XElement(_vif + XMLNames.ElectricMachineSystem,
+				new XElement(_vif + XMLNames.ElectricMachine_Count, electricMachineData.Count),
+				_vifFactory.GetElectricMachineSystemType().GetElement(electricMachineData.ElectricMachine),
+				Get25GearRatio(electricMachineData.RatioPerGear),
+				GetADC(electricMachineData.ADC),
+				new XElement(_vif + XMLNames.ElectricMachine_PowertrainPosition, electricMachineData.Position.ToXmlFormat()));
+		}
+
+		private XElement Get25GearRatio(double[] gearRatios)
+		{
+			if (gearRatios == null)
+				return null;
+
+			var results = new List<XElement>();
+			for (int i = 0; i < gearRatios.Length; i++) {
+				results.Add(new XElement(_vif + XMLNames.Gear_Ratio, new XAttribute(XMLNames.ElectricMachine_P2_5GearRatios_Gear_Attr, i + 1),
+					gearRatios[i].ToXMLFormat(3)));
+			}
+
+			return new XElement(_vif + XMLNames.ElectricMachine_P2_5GearRatios, results);
+		}
+	}
+}
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
index 6d4879cf5f62289c6560b48ec92e1b106471fc76..628511996532dd20f80c8fb2b4e951b602c9de62 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
@@ -44,6 +44,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		IXmlElectricMachineSystemType GetElectricMachineSystemMeasuredType();
 		IXmlElectricMachineSystemType GetElectricMachineSystemIHPCMeasuredType();
 		IXmlElectricMachineSystemType GetElectricMachineSystemStandardValueType();
+		IXmlTypeWriter GetElectricMachineType();
 		IXmlTypeWriter GetElectricMotorTorqueLimitsType();
 		IXmlTypeWriter GetEngineType();
 		IXmlTypeWriter GetTorqueConvertType();
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
index a7ef0afa3b8e32e0f68f5416747cb806c5bef8e9..e936aaf398693fdc4498c9b8fc2f133c033753a2 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
@@ -105,6 +105,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 			Bind<IXmlElectricMachineSystemType>().To<XmlElectricMachineSystemMeasuredType>().When(AccessedViaVIFFactory)
 				.NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetElectricMachineSystemMeasuredType());
+			Bind<IXmlTypeWriter>().To<VIFElectricMachineType>().When(AccessedViaVIFFactory)
+				.NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetElectricMachineType());
 
 			Bind<IXmlElectricMachineSystemType>().To<XmlElectricMachineSystemIHPCMeasuredType>().When(AccessedViaVIFFactory)
 				.NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetElectricMachineSystemIHPCMeasuredType());