diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
index f9f89dbf6211226166e9f97a305224323d7cb23b..f51989a36a7fd61e6aa3d2b9433f52befa091d1e 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
@@ -18,6 +18,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 		JoulePerKilogramm LowerHeatingValueVectoEngine { get; }
 
 		double HeatingValueCorrection { get; }
+		double CO2PerFuelWeightVTP { get; }
 
 		string GetLabel();
 	}
diff --git a/VectoCore/VectoCore/Models/Declaration/FuelData.cs b/VectoCore/VectoCore/Models/Declaration/FuelData.cs
index 6f4b775a3599cee96f715334fba4f4e70f13515d..596b7b20ef4fa26f789bd8a1fd9acaa218dd0f62 100644
--- a/VectoCore/VectoCore/Models/Declaration/FuelData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/FuelData.cs
@@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 		protected override string ErrorMessage => "FuelType {0} {1} not found!";
 
-		public Entry Lookup(FuelType fuelType, TankSystem? tankSystem = null)
+		public IFuelProperties Lookup(FuelType fuelType, TankSystem? tankSystem = null)
 		{
 			var entries = _data.FindAll(x => x.FuelType == fuelType);
 			if (entries.Count == 0) {
@@ -75,7 +75,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return entries.First();
 		}
 
-		public static Entry Diesel => Instance().Lookup(FuelType.DieselCI);
+		public static IFuelProperties Diesel => Instance().Lookup(FuelType.DieselCI);
 
 		protected override void ParseData(DataTable table)
 		{
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
index cbd333fc6d57ae6b96f95f00f6713589b593dc03..073e70157feb14948ca9ce547b83770ca663cf93 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
@@ -192,22 +192,23 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 
             //Fuels
-            result.FuelData = specific.FuelData;
+			result.FuelData = primary.EnergyConsumption.Keys.Select(x =>
+				DeclarationData.FuelData.Lookup(x, specific.VectoRunData.VehicleData.InputData.TankSystem)).ToList(); //specific.FuelData;
             var co2Sum = 0.SI<Kilogram>();
 
-            foreach (var fuel in generic.FuelData.Select(f => f.FuelType))
-            {
+			var fuel = specific.FuelData.First();
+			var fuelFactor = CalculateFactor(combinedResults, r => r.FuelConsumptionFinal(fuel.FuelType).TotalFuelConsumptionCorrected);
 
-                var fuelFactor = CalculateFactor(combinedResults, r => r.FuelConsumptionFinal(fuel).TotalFuelConsumptionCorrected);
-                var energyDemand =
-                    fuelFactor * (primary.EnergyConsumption[fuel] * specific.Distance);
+            foreach (var entry in primary.EnergyConsumption)//generic.FuelData.Select(f => f.FuelType))
+            {
+				var energyDemand = fuelFactor * (entry.Value * specific.Distance);
                 var fuelConsumption = new CompletedBusFuelConsumption()
                 {
-                    Fuel = specific.FuelData.Single(f => f.FuelType == fuel),
+                    Fuel = DeclarationData.FuelData.Lookup(entry.Key, specific.VectoRunData.VehicleData.InputData.TankSystem), // specific.FuelData.Single(f => f.FuelType == fuel),
                     EnergyDemand = energyDemand,
                 };
                 co2Sum += fuelConsumption.TotalFuelConsumptionCorrected * fuelConsumption.Fuel.CO2PerFuelWeight;
-                result.CorrectedFinalFuelConsumption.Add(fuel, fuelConsumption);
+                result.CorrectedFinalFuelConsumption.Add(entry.Key, fuelConsumption);
             }
             result.CO2Total = co2Sum;
 
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs
index 3199cc0c58175ff74719cf3f4fae2f63ab1f7d49..24e44d9d577c956593587e199aa9d3979f234ddf 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs
@@ -58,7 +58,7 @@ public class SSMHeatingPostProcessingCorrection
 										"2500,0,3800\n" +
 										"2500,1000,32000\n";
 
-	protected static readonly FuelData.Entry Fuel = FuelData.Diesel;
+	protected static readonly IFuelProperties Fuel = FuelData.Diesel;
 
 
 
diff --git a/VectoCore/VectoCoreTest/Reports/ModDataPostProcessingBus.cs b/VectoCore/VectoCoreTest/Reports/ModDataPostProcessingBus.cs
index 1e42a81079c0f416d50d0f8615bdbc220e1f72af..da48ab574026e9c2ad5a1a5ebdf08d19a39c1e96 100644
--- a/VectoCore/VectoCoreTest/Reports/ModDataPostProcessingBus.cs
+++ b/VectoCore/VectoCoreTest/Reports/ModDataPostProcessingBus.cs
@@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.Tests.Reports
 										"2500,0,3800\n" +
 										"2500,1000,32000\n";
 
-		protected static readonly FuelData.Entry Fuel = FuelData.Diesel;
+		protected static readonly IFuelProperties Fuel = FuelData.Diesel;
 
 		[OneTimeSetUp]
 		public void RunBeforeAnyTests()
diff --git a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
index b3a10897b0f185244b173466aad120ec828bab1c..83f41f2607672612c1b19d765dbe25d1e9e041f5 100644
--- a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
@@ -174,7 +174,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 
 		IList<IFuelProperties> IModalDataContainer.FuelData => FuelColumns.Keys.ToList();
 
-		public FuelData.Entry FuelData => VectoCore.Models.Declaration.FuelData.Diesel;
+		public IFuelProperties FuelData => VectoCore.Models.Declaration.FuelData.Diesel;
 
 		public VectoRun.Status RunStatus => VectoRun.Status.Success;