diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
index 0b3ad62e0ff87221e59e1fa09b7f02efa586a4c3..786b0be8c14a4e842881463a7437b00b85ccb32f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
@@ -2,6 +2,7 @@
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.Utils;
@@ -234,7 +235,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 	// ---------------------------------------------------------------------------------------
 
 
-	public class XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01 : XMLDeclarationComponentsDataProviderV10, IXMLVehicleComponentsDeclaration
+	public class XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01 : XMLDeclarationComponentsDataProviderV10, IXMLVehicleComponentsDeclaration,
+		IRetarderInputData
+		
 	{
 		public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_PRIMARY_BUS_VEHICLE_URI_V01;
 
@@ -244,13 +247,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		private IBusAuxiliariesDeclarationData _busAuxiliaries;
 
-		
-		public XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01(IXMLDeclarationVehicleData vehicle, XmlNode componentNode,
-			string sourceFile) : base(vehicle, componentNode, sourceFile) { }
+
+		public XMLDeclarationComponentsPrimaryVehicleBusDataProviderV01(IXMLDeclarationVehicleData vehicle,
+			XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { }
+
 
 		IRetarderInputData IVehicleComponentsDeclaration.RetarderInputData
 		{
-			get { return null; }
+			get { return this; }
 		}
 
 		ITorqueConverterDeclarationInputData IVehicleComponentsDeclaration.TorqueConverterInputData
@@ -277,5 +281,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		{
 			get { return NAMESPACE_URI; }
 		}
+
+		#region IRetarderInputData Interface Implementation
+
+		public RetarderType Type { get{ return _vehicle.RetarderType; }}
+		public double Ratio { get { return _vehicle.RetarderRatio; }}
+		public TableData LossMap { get; }
+
+		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs b/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs
index da65eb60efbe92d2d1c0abf52bf62ac734d601d9..9ad11695f9dd1db55e8d84abf84e023b7214ed0d 100644
--- a/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLPrimaryVehicleReportBusReaderTest.cs
@@ -61,9 +61,9 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual(false, vehicle.Articulated);
 			Assert.AreEqual(25000, vehicle.GrossVehicleMassRating.Value());
 			Assert.AreEqual(600, vehicle.EngineIdleSpeed.Value());
-			Assert.AreEqual("Transmission Output Retarder", ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).RetarderType.ToXMLFormat());
-			Assert.AreEqual(1.000, ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).RetarderRatio);
-			Assert.AreEqual("None", ((XMLDeclarationPrimaryVehicleBusDataProviderV01)vehicle).AngledriveType.ToXMLFormat());
+			Assert.AreEqual("Transmission Output Retarder", vehicle.Components.RetarderInputData.Type.ToXMLFormat());
+			Assert.AreEqual(1.000, vehicle.Components.RetarderInputData.Ratio);
+			Assert.AreEqual("None", vehicle.Components.AngledriveInputData.Type.ToXMLFormat());
 			Assert.IsFalse(vehicle.ZeroEmissionVehicle);
 
 			Assert.IsFalse(vehicle.ADAS.EngineStopStart);
@@ -89,7 +89,7 @@ namespace TUGraz.VectoCore.Tests.XML
 
 			TestAngledrive(components.AngledriveInputData);
 
-			Assert.IsNull(components.RetarderInputData);
+			TestRetarderInputData(components.RetarderInputData);
 
 			TestAxlegear(components.AxleGearInputData);
 
@@ -199,6 +199,14 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.That(() => angeldrive.Efficiency, Throws.TypeOf<VectoException>());
 		}
 
+		private void TestRetarderInputData(IRetarderInputData retarder)
+		{
+			Assert.IsNotNull(retarder);
+			Assert.IsNull(retarder.LossMap);
+			Assert.AreEqual("Transmission Output Retarder", retarder.Type.ToXMLFormat());
+			Assert.AreEqual(1.000, retarder.Ratio);
+		}
+		
 		private void TestAxlegear(IAxleGearInputData axelGear)
 		{
 			Assert.AreEqual("Generic Gearbox Manufacturer", axelGear.Manufacturer);