diff --git a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
index fe492b24eb0dab3cbdcd67bb616ad3cdd298565e..9b13c99eeed415a0680fbcd965a8f5a630351e82 100644
--- a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
+++ b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
@@ -7,36 +7,6 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-exempted_input_full-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_full-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-exempted_input_only_certain_entries01-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_only_certain_entries01-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-exempted_input_only_certain_entries02-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_only_certain_entries02-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-exempted_input_only_mandatory_entries.xml" Link="Testdata\vecto_vehicle-exempted_input_only_mandatory_entries.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_full-sample.xml" Link="Testdata\vecto_vehicle-stage_input_full-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_only_certain_entries01-sample.xml" Link="Testdata\vecto_vehicle-stage_input_only_certain_entries01-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_only_certain_entries02-sample.xml" Link="Testdata\vecto_vehicle-stage_input_only_certain_entries02-sample.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_only_component_nullable_entries.xml" Link="Testdata\vecto_vehicle-stage_input_only_component_nullable_entries.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_only_mandatory_entries.xml" Link="Testdata\vecto_vehicle-stage_input_only_mandatory_entries.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml" Link="Testdata\vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\AidragComponent.xml" Link="Testdata\AidragComponent.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 087518be4301d6817f734dd829b4fb096b50605a..58bc4d96609781f9f7f140c4a81e263a11497d5d 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -457,6 +457,8 @@ namespace TUGraz.VectoCommon.InputData
 		ITyreDeclarationInputData Tyre { get; }
 
 		DataSource DataSource { get; }
+		
+		bool Steered { get; }
 	}
 
 	public interface ITyreDeclarationInputData : IComponentInputData
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs
index bef8672f8222816b6712368b09883c1297a8fd32..4ba271313e1c469c428f65a982ca75979e9d0a17 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs
@@ -52,6 +52,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		protected ITyreDeclarationInputData _tyre;
 		protected bool? _twinTyre;
 		protected AxleType? _axleType;
+		private bool? _steered;
 
 		public XMLDeclarationAxleDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile)
 			: base(componentNode, sourceFile)
@@ -67,6 +68,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		public virtual ITyreDeclarationInputData Tyre => _tyre ?? (_tyre = Reader.Tyre);
 
+		public bool Steered =>
+			_steered ?? (_steered = XmlConvert.ToBoolean(GetString(XMLNames.AxleWheels_Axles_Axle_Steered))).Value;
+
 		#endregion
 
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
index b8101976729273e3126b8d49466b128d04157dd8..75aaf38e7f2c50e1de72d612f9acc64887203f3e 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
@@ -488,7 +488,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		}
 
 
-		public virtual IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxInputData, IBusAuxiliariesDeclarationData busAuxData, MissionType mission, VehicleClass hvdClass, Meter vehicleLength)
+		public virtual IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxInputData, 
+			IBusAuxiliariesDeclarationData busAuxData, MissionType mission, VehicleClass hvdClass, Meter vehicleLength, int? numSteeredAxles)
 		{
 			if (!auxInputData.SavedInDeclarationMode) {
 				WarnDeclarationMode("AuxiliariesData");
@@ -520,6 +521,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 						aux.ID = Constants.Auxiliaries.IDs.Fan;
 						break;
 					case AuxiliaryType.SteeringPump:
+						if (numSteeredAxles.HasValue && auxData.Technology.Count != numSteeredAxles.Value) {
+							throw new VectoException($"Number of steering pump technologies does not match number of steered axles ({numSteeredAxles.Value}, {auxData.Technology.Count})");
+						}
 						aux.PowerDemand = DeclarationData.SteeringPump.Lookup(mission, hvdClass, auxData.Technology);
 						aux.ID = Constants.Auxiliaries.IDs.SteeringPump;
 						break;
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index 90087072c524c3b5d9c78758fa7d1d08b03e5b6c..5fdcf0936eaacb5bb2ed48944fc084b0506ee089 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -76,12 +76,15 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 
 		public override IList<VectoRunData.AuxData> CreateAuxiliaryData(
 			IAuxiliariesDeclarationInputData auxInputData, IBusAuxiliariesDeclarationData busAuxData, MissionType mission,
-			VehicleClass hdvClass, Meter vehicleLength)
+			VehicleClass hdvClass, Meter vehicleLength, int? numSteeredAxles)
 		{
 			if (auxInputData != null) {
 				throw new VectoException("Only BusAuxiliaries can be provided as input!");
 			}
 
+			if (numSteeredAxles.HasValue && busAuxData.SteeringPumpTechnology.Count != numSteeredAxles.Value) {
+				throw new VectoException($"Number of steering pump technologies does not match number of steered axles ({numSteeredAxles.Value}, {busAuxData.SteeringPumpTechnology.Count})");
+			}
 			var retVal = new List<VectoRunData.AuxData>();
 
 			retVal.Add(
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs
index cad2bc0aa4e683a354a90f65e5388ddca93a092b..e5c788adb136e9673042149e53d199f3a774cd50 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs
@@ -26,7 +26,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter {
 
 		RetarderData CreateRetarderData(IRetarderInputData retarderData);
 		PTOData CreatePTOTransmissionData(IPTOTransmissionInputData ptoData);
-		IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength);
+		IList<VectoRunData.AuxData> CreateAuxiliaryData(IAuxiliariesDeclarationInputData auxData, IBusAuxiliariesDeclarationData busAuxData, MissionType missionType, VehicleClass vehicleClass, Meter vehicleLength, int? numSteeredAxles);
 		AxleGearData CreateDummyAxleGearData(IGearboxDeclarationInputData gbxData);
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
index cff53cabf0bd778f76a8c67e0e5bcfdc959193eb..d0be389f2411ea3f0f10de36d04f026563da846d 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
@@ -215,9 +215,11 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 		}
 
 
-		protected VectoRunData CreateVectoRunDataSpecific(Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, int modeIdx) {
+		protected VectoRunData CreateVectoRunDataSpecific(Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, int modeIdx) 
+		{
 			var cycle = DeclarationData.CyclesCache.GetOrAdd(mission.MissionType, _ => DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false));
-			
+			var numSteeredAxles = PrimaryVehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered);
+
 			var simulationRunData = new VectoRunData {
 				Loading = loading.Key,
 				VehicleData = DataAdapterSpecific.CreateVehicleData(PrimaryVehicle, CompletedVehicle, _segmentCompletedBus, 
@@ -229,7 +231,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				AxleGearData = _axlegearData,
 				AngledriveData = _angledriveData,
 				Aux = DataAdapterSpecific.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData,
-					PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length),
+					PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length, numSteeredAxles),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverData,
@@ -267,7 +269,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				AngledriveData = _angledriveData,
 				Aux = DataAdapterGeneric.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData,
 					primaryBusAuxiliaries, mission.MissionType, primarySegment.VehicleClass,
-					mission.BusParameter.VehicleLength),
+					mission.BusParameter.VehicleLength, PrimaryVehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverData,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs
index 18db5282c563ee3868e5b0da4a1bd159aa127057..7bbcf8a900b016df1a411c9b83dcf19f83e5c068 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs
@@ -251,7 +251,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				AxleGearData = _axlegearData,
 				AngledriveData = _angledriveData,
 				Aux = DataAdapterSpecific.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData,
-					PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length),
+					PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length,
+					PrimaryVehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverData,
@@ -290,7 +291,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				AngledriveData = _angledriveData,
 				Aux = DataAdapterGeneric.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData,
 					primaryBusAuxiliaries, mission.MissionType, primarySegment.VehicleClass,
-					mission.BusParameter.VehicleLength),
+					mission.BusParameter.VehicleLength,
+					PrimaryVehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverData,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
index 873e10d9cfc5324d4d5c9fba961eb4571d3969cd..5e165e4ada0398d0fcd84673a3b954546c118c9a 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
@@ -31,6 +31,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
@@ -163,7 +164,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				Aux = DataAdapter.CreateAuxiliaryData(
 					vehicle.Components.AuxiliaryInputData,
 					vehicle.Components.BusAuxiliaries, mission.MissionType,
-					_segment.VehicleClass, vehicle.Length),
+					_segment.VehicleClass, vehicle.Length,
+					vehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverdata,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs
index e31992dcbd25af88c878ff8ec817e0d8af8f204c..bf87fba39115fd94560935d2b9d71bd9e0366e5f 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModePrimaryBusVectoRunDataFactory.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
@@ -119,7 +120,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				Aux = DataAdapter.CreateAuxiliaryData(
 					vehicle.Components.AuxiliaryInputData,
 					vehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass,
-					vehicle.Length ?? mission.BusParameter.VehicleLength),
+					vehicle.Length ?? mission.BusParameter.VehicleLength,
+					vehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverdata,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs
index 9fbcf5fe1c116cb812bb0d54386ab1f7eeb3cce2..2802c869d7f700f34fe38866c84b6d72819a8b00 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeSingleBusVectoRunDataFactory.cs
@@ -81,7 +81,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				AxleGearData = _axlegearData,
 				AngledriveData = _angledriveData,
 				Aux = DataAdapter.CreateAuxiliaryData(vehicle.Components.AuxiliaryInputData,
-													vehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass, vehicle.Length ?? mission.BusParameter.VehicleLength),
+													vehicle.Components.BusAuxiliaries, mission.MissionType, 
+													_segment.VehicleClass, vehicle.Length ?? mission.BusParameter.VehicleLength,
+													vehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered)),
 				Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()),
 				Retarder = _retarderData,
 				DriverData = _driverdata,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
index a1357c407b3d9057a726c33e817dd5683316bf97..468cae22cb84a07898091fb27905fa713ca90b5c 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
@@ -119,27 +119,29 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				JobInputData.Vehicle.Components.AuxiliaryInputData,
 				JobInputData.Vehicle.Components.BusAuxiliaries,
 				missionType,
-				Segment.VehicleClass, JobInputData.Vehicle.Length);
+				Segment.VehicleClass, JobInputData.Vehicle.Length,
+				JobInputData.Vehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered));
 		}
 
 		protected virtual List<VectoRunData.AuxData> CreateVTPAuxData(IVehicleDeclarationInputData vehicle)
 		{
+			var numSteered = vehicle.Components.AxleWheels.AxlesDeclaration.Count(x => x.Steered);
 			var auxRD = Dao.CreateAuxiliaryData(
-								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.RegionalDelivery, Segment.VehicleClass, vehicle.Length)
+								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.RegionalDelivery, Segment.VehicleClass, vehicle.Length, numSteered)
 							.ToList();
 			foreach (var entry in auxRD) {
 				entry.MissionType = MissionType.RegionalDelivery;
 			}
 
 			var auxLH = Dao.CreateAuxiliaryData(
-								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.LongHaul, Segment.VehicleClass, vehicle.Length)
+								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.LongHaul, Segment.VehicleClass, vehicle.Length, numSteered)
 							.ToList();
 			foreach (var entry in auxLH) {
 				entry.MissionType = MissionType.LongHaul;
 			}
 
 			var auxUD = Dao.CreateAuxiliaryData(
-								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.UrbanDelivery, Segment.VehicleClass, vehicle.Length)
+								vehicle.Components.AuxiliaryInputData, vehicle.Components.BusAuxiliaries, MissionType.UrbanDelivery, Segment.VehicleClass, vehicle.Length, numSteered)
 							.ToList();
 			foreach (var entry in auxUD) {
 				entry.MissionType = MissionType.UrbanDelivery;
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 70351e065ade3fa073dfa390017416208d0ac432..a8951c08c7b2c9d027c90dc4ed4f4ac42264b711 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -465,7 +465,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 			public static PerSecond MinEngineSpeedPostUpshift = 0.RPMtoRad();
 
-			public static Second ATLookAheadTime = Gearbox.PowershiftShiftTime;
+			public static Second ATLookAheadTime = 1.5.SI<Second>(); //Gearbox.PowershiftShiftTime;
 
 			public static double[] LoadStageThresholdsUp = { 19.7, 36.34, 53.01, 69.68, 86.35 };
 			public static double[] LoadStageThresoldsDown = { 13.7, 30.34, 47.01, 63.68, 80.35 };
diff --git a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
index ecbbf8d08e27e1c138153fbd11a7bddd6ae2d43c..56e5ba12467a993476e47d6aea89928e9ba6fb9f 100644
--- a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
@@ -1,6 +1,7 @@
 Technology                             , fullyelectric , tubing - Heavy Urban , tubing - Urban , tubing - Suburban , tubing - Interurban , tubing - Coach , axle - Heavy Urban , axle - Urban , axle - Suburban , axle - Interurban , axle - Coach , axle - VerificationTest , tubing - VerificationTest
 Fixed displacement                     , 0             , 1.00                 , 1.00           , 1.00              , 1.00                , 1.00           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00         , 1.0                     , 1.0
 Fixed displacement with elec. control  , 0             , 0.95                 , 0.95           , 0.95              , 0.95                , 0.95           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00         , 1.0                     , 0.95
+Dual displacement                      , 0             , 0.85                 , 0.85           , 0.85              , 0.85                , 0.85           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85         , 0.85                    , 0.85
 Dual displacement with mech. control   , 0             , 0.85                 , 0.85           , 0.85              , 0.85                , 0.85           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85         , 0.85                    , 0.85
 Dual displacement with elec. control   , 0             , 0.80                 , 0.80           , 0.80              , 0.80                , 0.80           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85         , 0.85                    , 0.8
 Variable displacement mech. controlled , 0             , 0.75                 , 0.75           , 0.75              , 0.75                , 0.75           , 0.75               , 0.75         , 0.75            , 0.75              , 0.75         , 0.75                    , 0.75
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs b/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3f8c30de253899158ad604ba717d9144ce16366f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/Models/Declaration/InputDataSanityChecks.cs
@@ -0,0 +1,130 @@
+using System.IO;
+using System.Linq;
+using System.Xml;
+using Ninject;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCore.InputData.FileIO.XML;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
+using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Tests.Utils;
+
+namespace TUGraz.VectoCore.Tests.Models.Declaration
+{
+	[TestFixture]
+	public class InputDataSanityChecks
+	{
+		public const string HeavyLorryConventional = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\Conventional_heavyLorry_AMT.xml";
+		public const string MediumLorryConventional = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\MediumLorry\Conventional_mediumLorry_AMT.xml";
+		public const string PrimaryBusConventional = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\Conventional_primaryBus_AMT.xml";
+
+		private IXMLInputDataReader _xmlInputReader;
+
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+			var kernel = new StandardKernel(new VectoNinjectModule());
+			_xmlInputReader = kernel.Get<IXMLInputDataReader>();
+		}
+
+		[
+			TestCase(HeavyLorryConventional, 1, "Fixed displacement"),
+			TestCase(HeavyLorryConventional, 2, "Fixed displacement", "Dual displacement"),
+			TestCase(HeavyLorryConventional, 2, "Full electric steering gear", "Electric driven pump"),
+			TestCase(HeavyLorryConventional, 1, "Full electric steering gear"),
+
+			TestCase(MediumLorryConventional, 1, "Fixed displacement"),
+			TestCase(MediumLorryConventional, 2, "Fixed displacement", "Dual displacement"),
+			TestCase(MediumLorryConventional, 2, "Full electric steering gear", "Electric driven pump"),
+			TestCase(MediumLorryConventional, 1, "Full electric steering gear"),
+
+			TestCase(PrimaryBusConventional, 1, "Fixed displacement"),
+			TestCase(PrimaryBusConventional, 2, "Fixed displacement", "Dual displacement"),
+			TestCase(PrimaryBusConventional, 2, "Full electric steering gear", "Electric driven pump"),
+			TestCase(PrimaryBusConventional, 1, "Full electric steering gear")
+		]
+		public void TestCorrectNumberSteeredAxles(string jobFile, int numStreeredAxles, params string[] steeringPumpTechnologies)
+		{
+			var modified = GetModifiedXML(jobFile, numStreeredAxles, steeringPumpTechnologies);
+
+			var writer = new FileOutputWriter("SanityCheckTest");
+
+			var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, modified, writer);
+			factory.WriteModalResults = true;
+			factory.Validate = false;
+
+			var runs = factory.DataReader.NextRun().ToList();
+			
+			Assert.IsTrue(runs.Count > 0);
+		}
+
+		[
+			TestCase(HeavyLorryConventional, 2, "Fixed displacement"),
+			TestCase(HeavyLorryConventional, 1, "Fixed displacement", "Dual displacement"),
+			TestCase(HeavyLorryConventional, 1, "Full electric steering gear", "Electric driven pump"),
+			TestCase(HeavyLorryConventional, 1, "Fixed displacement", "Dual displacement", "Full electric steering gear"),
+
+			TestCase(MediumLorryConventional, 2, "Fixed displacement"),
+			TestCase(MediumLorryConventional, 1, "Fixed displacement", "Dual displacement"),
+			TestCase(MediumLorryConventional, 1, "Full electric steering gear", "Electric driven pump"),
+			TestCase(MediumLorryConventional, 1, "Fixed displacement", "Dual displacement", "Full electric steering gear"),
+
+			TestCase(PrimaryBusConventional, 2, "Fixed displacement"),
+			TestCase(PrimaryBusConventional, 1, "Fixed displacement", "Dual displacement"),
+			TestCase(PrimaryBusConventional, 1, "Full electric steering gear", "Electric driven pump"),
+			TestCase(PrimaryBusConventional, 1, "Fixed displacement", "Dual displacement", "Full electric steering gear"),
+		]
+		public void TestWrongNumberSteeredAxles(string jobFile, int numStreeredAxles, params string[] steeringPumpTechnologies)
+		{
+			var modified = GetModifiedXML(jobFile, numStreeredAxles, steeringPumpTechnologies);
+
+			var writer = new FileOutputWriter("SanityCheckTest");
+
+			var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, modified, writer);
+			factory.WriteModalResults = true;
+			factory.Validate = false;
+
+			AssertHelper.Exception<VectoException>(() => {
+				var runs = factory.DataReader.NextRun().ToList();
+			}, messageContains: $"Number of steering pump technologies does not match number of steered axles ({numStreeredAxles}, {steeringPumpTechnologies.Length})");
+
+		}
+
+		private IInputDataProvider GetModifiedXML(string jobFile, int numStreeredAxles, string[] steeringPumpTechnologies)
+		{
+			var inputXml = new XmlDocument();
+			inputXml.Load(jobFile);
+
+			var axleNodesSteered = inputXml.SelectNodes("//*[local-name()='Axle']/*[local-name()='Steered']");
+
+			var cnt = 0;
+			foreach (XmlNode steered in axleNodesSteered) {
+				steered.InnerText = cnt++ < numStreeredAxles ? "true" : "false";
+			}
+
+			var steeringPumpNode = inputXml.SelectSingleNode("//*[local-name()='SteeringPump']");
+			steeringPumpNode.RemoveAll();
+			cnt = 1;
+			foreach (var steeringPumpTechnology in steeringPumpTechnologies) {
+				var tech = inputXml.CreateElement("Technology", "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4");
+				var val = inputXml.CreateTextNode(steeringPumpTechnology);
+				var attr = inputXml.CreateAttribute("axleNumber");
+				var attrVal = inputXml.CreateTextNode(cnt.ToString());
+				attr.AppendChild(attrVal);
+				tech.Attributes.Append(attr);
+				tech.AppendChild(val);
+
+				steeringPumpNode.AppendChild(tech);
+				cnt++;
+			}
+
+			var modified = XmlReader.Create(new StringReader(inputXml.OuterXml));
+
+			return _xmlInputReader.CreateDeclaration(modified);
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index 740dfe35071066c83b42e041bc423b48311391ce..0d6a30ca91032ac382c94b56a1bf8662afe33629 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -144,6 +144,7 @@
     <Compile Include="Models\Declaration\DeclarationSegmentComplete3AxleBusesTest.cs" />
     <Compile Include="Models\Declaration\DeclarationSegmentComplete4AxleBusesTest.cs" />
     <Compile Include="Models\Declaration\DeclarationSegmentHeavyBusesTest.cs" />
+    <Compile Include="Models\Declaration\InputDataSanityChecks.cs" />
     <Compile Include="Models\Declaration\ShiftPolygonTest.cs" />
     <Compile Include="Models\EngineeringMode\EngineeringModeBusAuxTest.cs" />
     <Compile Include="Models\SimulationComponentData\ElectricMotorEfficienyMapTest.cs" />
@@ -7006,18 +7007,6 @@
     <Content Include="TestData\Integration\MediumLorries\vecto_vehicle-medium_lorry.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="TestData\Integration\Multistage\newVifCompletedConventional.RSLT_CUSTOMER.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="TestData\Integration\Multistage\newVifCompletedConventional.RSLT_MANUFACTURER.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="TestData\Integration\Multistage\newVifCompletedConventional.RSLT_MANUFACTURER_PRIMARY.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="TestData\Integration\Multistage\newVifCompletedConventional.VIF_Report_1.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="TestData\Integration\VTPMode\GenericVehicle XMLJob PTO\Tractor_4x2_vehicle-class-5_Generic vehicle.RSLT_MANUFACTURER.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
@@ -7111,9 +7100,6 @@
     <Content Include="TestData\Integration\VTPMode\HeavyBus\vecto_vehicle-completed_heavyBus_34f.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="TestData\Integration\VTPMode\MediumLorry\vecto_vehicle-medium_lorry_4x2.RSLT_MANUFACTURER.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="TestData\Integration\VTPMode\MediumLorry\vecto_vehicle-medium_lorry_4x2.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>