diff --git a/VectoCommon/VectoCommon/Utils/Validation.cs b/VectoCommon/VectoCommon/Utils/Validation.cs
index 0f8a09e0fae001de5bdf70dfeae665e1deb77048..ebfe5f6b5d21df369c3ba563e091211e249aaae4 100644
--- a/VectoCommon/VectoCommon/Utils/Validation.cs
+++ b/VectoCommon/VectoCommon/Utils/Validation.cs
@@ -114,31 +114,19 @@ namespace TUGraz.VectoCommon.Utils
 			const BindingFlags flags =
 				BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public |
 				BindingFlags.FlattenHierarchy;
-
-			if (m.MemberType == MemberTypes.Property) {
-				PropertyInfo prop = m as PropertyInfo ?? obj.GetProperty(m.Name, flags);
-				//var prop = obj.GetProperty(m.Name, flags);
-				if (prop != null)
-				{
-					//if (m is PropertyInfo prop) {
-					attributes = prop.GetCustomAttributes(typeof(T))
-						.Cast<T>()
-						.Concat(obj.GetInterfaces().SelectMany(m.GetAttributes<T>));
-				}
+			var prop = obj.GetProperty(m.Name, flags);
+			if (prop != null) {
+				attributes = prop.GetCustomAttributes(typeof(T))
+					.Cast<T>()
+					.Concat(obj.GetInterfaces().SelectMany(m.GetAttributes<T>));
 			}
 
-			if (m.MemberType == MemberTypes.Field) {
-				FieldInfo field = m as FieldInfo ?? obj.GetField(m.Name, flags);
-				//var field = obj.GetField(m.Name, flags);
-				if (field != null)
-				{
-					//if (m is FieldInfo field) {
-					attributes =
-						attributes.Concat(
-							field.GetCustomAttributes(typeof(T)).Cast<T>().Concat(obj.GetInterfaces().SelectMany(m.GetAttributes<T>)));
-				}
+			var field = obj.GetField(m.Name, flags);
+			if (field != null) {
+				attributes =
+					attributes.Concat(
+						field.GetCustomAttributes(typeof(T)).Cast<T>().Concat(obj.GetInterfaces().SelectMany(m.GetAttributes<T>)));
 			}
-            
 
 			return attributes;
 		}
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
index 452ffe4b465c6ce053736b34cfb22f25c69d8871..4b3973fa2a840e66bff85ed755ba63625c56e224 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
@@ -32,6 +32,7 @@
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
@@ -249,7 +250,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		public virtual bool HasGearbox { get; private set; }
 
-
+		[Required, ValidateObject]
 		public virtual VectoRunData RunData { get; set; }
 		public virtual ExecutionMode ExecutionMode { get; }
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
index 42ab3e035eaf0f5602dab383ca75efe89c42d179..027ee37c5867af81fe0e31d367ab8b75213c4d06 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
@@ -890,7 +890,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 					//	Tuple.Create((PerSecond)null, 0.SI<NewtonMeter>());
 				}
 				var testRequest = RequestDryRun(absTime, dt, outTorque, outAngularVelocity, nextGear, emOff);
-				if (testRequest != null) {
+				if (testRequest != null && testRequest.Engine.EngineSpeed < ModelData.EngineData.FullLoadCurves[0].NTq99hSpeed) {
 					var maxGbxTorque = StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(testRequest.Gearbox.InputSpeed);
 					candidates[nextGear] = Tuple.Create(maxGbxTorque * testRequest.Gearbox.InputSpeed, testRequest);
 				}
@@ -2123,10 +2123,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 
 			if (resp.Source is TorqueConverter) {
 				if (resp is ResponseUnderload) {
+					tmp.FuelCosts = double.NaN;
 					tmp.IgnoreReason |= HybridConfigurationIgnoreReason.EngineTorqueDemandTooLow;
 				}
 
 				if (resp is ResponseOverload) {
+					tmp.FuelCosts = double.NaN;
 					tmp.IgnoreReason |= HybridConfigurationIgnoreReason.EngineTorqueDemandTooHigh;
 				}
 			}
diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
index 98f5a95bc26d54abe3d100286ee7caa3573543d3..9c79f3000afa2b66e3bb311cbea733a90ab8efee 100644
--- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
@@ -374,6 +374,7 @@ namespace TUGraz.VectoCore.OutputData
 			}
 
 			if (gearCount <= 0) {
+				AddResultRow(row);
 				return;
 			}
 
@@ -660,7 +661,7 @@ namespace TUGraz.VectoCore.OutputData
 				row[Fields.E_PS_CompressorOff] = modData.EnergyPneumaticCompressorPowerOff().ConvertToKiloWattHour();
 				row[Fields.E_PS_CompressorOn] = modData.EnergyPneumaticCompressorOn().ConvertToKiloWattHour();
 
-				row[Fields.E_BusAux_ES_generated] = modData.EnergyBusAuxESGeneratedMech().ConvertToKiloWattHour();
+				row[Fields.E_BusAux_ES_generated] = modData.EnergyBusAuxESGenerated().ConvertToKiloWattHour();
 				row[Fields.E_BusAux_ES_consumed] = modData.EnergyBusAuxESConsumed().ConvertToKiloWattHour();
 				row[Fields.Delta_E_BusAux_Battery] = (runData.BusAuxiliaries.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart
 						? modData.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
index a1151ca3fa99b642a6ee5f0a593dfc0a4076fbb2..16602da9dbe35b5e12238133fd183d234bb87e5b 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
@@ -35,6 +35,7 @@ using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.Data;
 using System.Diagnostics.CodeAnalysis;
+using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
@@ -60,6 +61,12 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 	[SuppressMessage("ReSharper", "UnusedMember.Local")]
 	public class ValidationTestClass
 	{
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
 		/// <summary>
 		/// VECTO-107 Check valid range of input parameters
 		/// </summary>