diff --git a/VectoCommon/VectoCommon/Models/RetarderType.cs b/VectoCommon/VectoCommon/Models/RetarderType.cs
index 4fa16e3926e70946d150a42a97aa97cfab0392a4..be41941035469400be1f7dbe228159d5164fba4d 100644
--- a/VectoCommon/VectoCommon/Models/RetarderType.cs
+++ b/VectoCommon/VectoCommon/Models/RetarderType.cs
@@ -29,85 +29,85 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
-using TUGraz.VectoCommon.Utils;
-
-namespace TUGraz.VectoCommon.Models
-{
-	public enum RetarderType
-	{
-		None,
-		TransmissionInputRetarder,
-		TransmissionOutputRetarder,
-		EngineRetarder,
-		LossesIncludedInTransmission
-	}
-
-	public static class RetarderTypeHelper
-	{
-		public static RetarderType Parse(string retarderType)
-		{
-			switch (retarderType.ToLowerInvariant()) {
-				case "primary":
-					return RetarderType.TransmissionInputRetarder;
-				case "secondary":
-					return RetarderType.TransmissionOutputRetarder;
-				default:
-					return retarderType.ParseEnum<RetarderType>();
-			}
-		}
-
-		public static string GetName(this RetarderType retarder)
-		{
-			switch (retarder) {
-				case RetarderType.TransmissionInputRetarder:
-					return "primary";
-				case RetarderType.TransmissionOutputRetarder:
-					return "secondary";
-				default:
-					return retarder.ToString();
-			}
-		}
-
-		public static string GetLabel(this RetarderType retarder)
-		{
-			switch (retarder) {
-				case RetarderType.None:
-					return "None";
-				case RetarderType.TransmissionInputRetarder:
-					return "Primary Retarder";
-				case RetarderType.TransmissionOutputRetarder:
-					return "Secondary Retarder";
-				case RetarderType.EngineRetarder:
-					return "Engine Retarder";
-				case RetarderType.LossesIncludedInTransmission:
-					return "Included in Transmission Loss Maps";
-				default:
-					throw new ArgumentOutOfRangeException("RetarderType", retarder, null);
-			}
-		}
-
-		public static string ToXMLFormat(this RetarderType type)
-		{
-			switch (type) {
-				case RetarderType.None:
-					return "None";
-				case RetarderType.TransmissionInputRetarder:
-					return "Transmission Input Retarder";
-				case RetarderType.TransmissionOutputRetarder:
-					return "Transmission Output Retarder";
-				case RetarderType.EngineRetarder:
-					return "Engine Retarder";
-				case RetarderType.LossesIncludedInTransmission:
-					return "Losses included in Gearbox";
-				default:
-					throw new ArgumentOutOfRangeException("RetarderType", type, null);
-			}
-		}
-
-		public static bool IsDedicatedComponent(this RetarderType retarder)
-		{
-			return retarder == RetarderType.TransmissionInputRetarder || retarder == RetarderType.TransmissionOutputRetarder;
-		}
-	}
-}
\ No newline at end of file
+using System;
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCommon.Models
+{
+	public enum RetarderType
+	{
+		None,
+		TransmissionInputRetarder,
+		TransmissionOutputRetarder,
+		EngineRetarder,
+		LossesIncludedInTransmission
+	}
+
+	public static class RetarderTypeHelper
+	{
+		public static RetarderType Parse(string retarderType)
+		{
+			switch (retarderType.ToLowerInvariant()) {
+				case "primary":
+					return RetarderType.TransmissionInputRetarder;
+				case "secondary":
+					return RetarderType.TransmissionOutputRetarder;
+				default:
+					return retarderType.ParseEnum<RetarderType>();
+			}
+		}
+
+		public static string GetName(this RetarderType retarder)
+		{
+			switch (retarder) {
+				case RetarderType.TransmissionInputRetarder:
+					return "primary";
+				case RetarderType.TransmissionOutputRetarder:
+					return "secondary";
+				default:
+					return retarder.ToString();
+			}
+		}
+
+		public static string GetLabel(this RetarderType retarder)
+		{
+			switch (retarder) {
+				case RetarderType.None:
+					return "None";
+				case RetarderType.TransmissionInputRetarder:
+					return "Primary Retarder";
+				case RetarderType.TransmissionOutputRetarder:
+					return "Secondary Retarder";
+				case RetarderType.EngineRetarder:
+					return "Engine Retarder";
+				case RetarderType.LossesIncludedInTransmission:
+					return "Included in Transmission Loss Maps";
+				default:
+					throw new ArgumentOutOfRangeException("RetarderType", retarder, null);
+			}
+		}
+
+		public static string ToXMLFormat(this RetarderType type)
+		{
+			switch (type) {
+				case RetarderType.None:
+					return "None";
+				case RetarderType.TransmissionInputRetarder:
+					return "Transmission Input Retarder";
+				case RetarderType.TransmissionOutputRetarder:
+					return "Transmission Output Retarder";
+				case RetarderType.EngineRetarder:
+					return "Engine Retarder";
+				case RetarderType.LossesIncludedInTransmission:
+					return "Losses included in Gearbox";
+				default:
+					throw new ArgumentOutOfRangeException("RetarderType", type, null);
+			}
+		}
+
+		public static bool IsDedicatedComponent(this RetarderType retarder)
+		{
+			return retarder == RetarderType.TransmissionInputRetarder || retarder == RetarderType.TransmissionOutputRetarder;
+		}
+	}
+}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index 4fc3667293e9a01405ef9aac857a1f6ef0d566d2..ec5307606e6d07285b2ae874a4981d238f6fd898 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				Manufacturer = data.Manufacturer,
 				ModelName = data.Model,
 				Date = data.Date,
-				//CertificationNumber = data.CertificationNumber,
+				//CertificationNumber = data.CertificationNumber,
 				DigestValueInput = data.DigestValue,
 				VehicleCategory = data.VehicleCategory,
 				AxleConfiguration = data.AxleConfiguration,
@@ -95,12 +95,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 						break;
 					case RetarderType.None:
 					case RetarderType.LossesIncludedInTransmission:
+					case RetarderType.EngineRetarder:
 						retarder.Ratio = 1;
 						break;
 					default:
 						// ReSharper disable once NotResolvedInText
 						// ReSharper disable once LocalizableElement
-						throw new ArgumentOutOfRangeException("retarder.Type", "RetarderType unknown");
+						throw new ArgumentOutOfRangeException("retarder", retarder.Type, "RetarderType unknown");
 				}
 
 				if (!retarder.Type.IsDedicatedComponent()) {
@@ -337,4 +338,4 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			return flc;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/VectoCore/VectoCore/Utils/ProviderExtensions.cs b/VectoCore/VectoCore/Utils/ProviderExtensions.cs
index 482a839bb7a1ff0f8be16f72cb7c277ecc33b87c..3811558039de96279f344439889ffba9fcbe5da1 100644
--- a/VectoCore/VectoCore/Utils/ProviderExtensions.cs
+++ b/VectoCore/VectoCore/Utils/ProviderExtensions.cs
@@ -120,12 +120,14 @@ namespace TUGraz.VectoCore.Utils
 				case RetarderType.TransmissionInputRetarder:
 					return prev.AddComponent(gearbox).AddComponent(new Retarder(container, data.LossMap, data.Ratio));
 				case RetarderType.None:
-					return prev.AddComponent(new DummyRetarder(container)).AddComponent(gearbox);
 				case RetarderType.LossesIncludedInTransmission:
+				case RetarderType.EngineRetarder:
 					return prev.AddComponent(new DummyRetarder(container)).AddComponent(gearbox);
 				default:
-					throw new ArgumentOutOfRangeException(data.Type.ToString());
+					// ReSharper disable once NotResolvedInText
+					// ReSharper disable once LocalizableElement
+					throw new ArgumentOutOfRangeException("retarderdata.Type", data.Type.ToString(), "Retardertype unknown");
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aadaf3167db3a0e2450e741c1d532c4ca80b8a18
--- /dev/null
+++ b/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs
@@ -0,0 +1,52 @@
+using System.IO;
+using System.Linq;
+using System.Xml;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCore.Configuration;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
+using TUGraz.VectoCore.Models.Simulation.Impl;
+using TUGraz.VectoCore.Utils;
+using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;
+
+namespace TUGraz.VectoCore.Tests.Models.Simulation
+{
+	[TestFixture]
+	public class DeclarationSimulationFactoryTest
+	{
+		const string SampleVehicleDecl = "TestData/XML/XMLReaderDeclaration/vecto_vehicle-sample.xml";
+
+		[TestCase("None", RetarderType.None),
+		TestCase("Losses included in Gearbox", RetarderType.LossesIncludedInTransmission),
+		TestCase("Engine Retarder", RetarderType.EngineRetarder),
+		TestCase("Transmission Input Retarder", RetarderType.TransmissionInputRetarder),
+		TestCase("Transmission Output Retarder", RetarderType.TransmissionOutputRetarder)]
+		public void TestRetarderTypes(string xmlValue, RetarderType retarderType)
+		{
+			var reader = XmlReader.Create(SampleVehicleDecl);
+
+			var doc = new XmlDocument();
+			doc.Load(reader);
+			var nav = doc.CreateNavigator();
+			var manager = new XmlNamespaceManager(nav.NameTable);
+			var helper = new XPathHelper(ExecutionMode.Declaration);
+			helper.AddNamespaces(manager);
+
+			var xmlRetarderType = nav.SelectSingleNode(helper.QueryAbs(
+				helper.NSPrefix(XMLNames.VectoInputDeclaration, Constants.XML.RootNSPrefix),
+				XMLNames.Component_Vehicle,
+				XMLNames.Vehicle_RetarderType), manager);
+			xmlRetarderType.SetValue(xmlValue);
+
+			var modified = XmlReader.Create(new StringReader(nav.OuterXml));
+
+			var inputDataProvider = new XMLDeclarationInputDataProvider(modified, true);
+
+			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, null) { Validate = false };
+
+			var runs = factory.SimulationRuns().ToArray();
+			Assert.AreEqual(8, runs.Length);
+		}
+	}
+}
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index 62814703740d5442c60e44f07c7df037e26d072c..6f81bba31c466227205b64f8bea5c45557f7781a 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -116,6 +116,7 @@
     <Compile Include="Models\Simulation\GearboxInertiaTest.cs" />
     <Compile Include="Models\Simulation\MockSumWriter.cs" />
     <Compile Include="Models\Simulation\GetSectionTest.cs" />
+    <Compile Include="Models\Simulation\DeclarationSimulationFactoryTest.cs" />
     <Compile Include="Reports\ActualModalSimulationDataTest.cs" />
     <Compile Include="Reports\ModDataTest.cs" />
     <Compile Include="Models\Simulation\MeasuredSpeedModeTest.cs" />