diff --git a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
index 7a5d6405a81c66eff535f63ea05a86089b51f3f7..01e91b1b4aff9bfecb9c47762d4ec267f01365c4 100644
--- a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
@@ -860,15 +860,17 @@ namespace TUGraz.VectoCore.InputData.Reader
 							FanElectricalPower = table.Columns.Contains(Fields.FanElectricalPower) 
 								? row.ParseDouble(Fields.FanElectricalPower).SI<Watt>() 
 								: null,
-							CombustionEngineTorque = table.Columns.Contains(Fields.CombustionEngineTorque)
-								? row.ParseDouble(Fields.CombustionEngineTorque).SI<NewtonMeter>()
+							CombustionEngineTorque = row.ParseDouble(Fields.CombustionEngineTorque).SI<NewtonMeter>(),
+							CH4MassFlow = table.Columns.Contains(Fields.CH4MassFlow)
+								? (row.ParseDouble(Fields.CH4MassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>()
 								: null,
-							CH4MassFlow = (row.ParseDoubleOrGetDefault(Fields.CH4MassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
 							COMassFlow = (row.ParseDoubleOrGetDefault(Fields.COMassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
-							NMHCMassFlow = (row.ParseDoubleOrGetDefault(Fields.NMHCMassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
+							NMHCMassFlow = table.Columns.Contains(Fields.NMHCMassFlow)
+								? (row.ParseDoubleOrGetDefault(Fields.NMHCMassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>()
+								: null,
 							NOxMassFlow = (row.ParseDoubleOrGetDefault(Fields.NOxMassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
 							THCMassFlow = (row.ParseDoubleOrGetDefault(Fields.THCMassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
-							CO2MassFlow = (row.ParseDoubleOrGetDefault(Fields.CO2MassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>(),
+							CO2MassFlow = (row.ParseDoubleOrGetDefault(Fields.CO2MassFlow) / GRAMS_PER_KILO).SI<KilogramPerSecond>()
 						};
 					}).ToArray();
 
diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
index cf6cd15d7597ae7f81409f7bd48bb034434c0d74..f0722ac6895b690273d162c6c00fd97d479f8683 100644
--- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
@@ -390,15 +390,23 @@ namespace TUGraz.VectoCore.OutputData
 				return;
 			}
 
-			foreach (var field in new[] { 
-				Fields.POLLUTANT_CH4, 
+			var fields = new List<string> { 
 				Fields.POLLUTANT_CO, 
-				Fields.POLLUTANT_NMHC, 
 				Fields.POLLUTANT_NOX, 
 				Fields.POLLUTANT_THC, 
 				Fields.POLLUTANT_CO2,
 				Fields.ENGINE_ENERGY_RATIO
-			}) {
+			};
+			
+			if (runData.Cycle.Entries.First().CH4MassFlow != null) {
+				fields.Add(Fields.POLLUTANT_CH4);
+            }
+
+			if (runData.Cycle.Entries.First().NMHCMassFlow != null) {
+				fields.Add(Fields.POLLUTANT_NMHC);
+            }
+
+			foreach (var field in fields) {
 				lock (Table) {
 					if (!Table.Columns.Contains(field)) {
 						Table.Columns.Add(field, typeof(ConvertedSI));
@@ -410,18 +418,26 @@ namespace TUGraz.VectoCore.OutputData
 				.Where(x => x.Item1.CombustionEngineTorque.IsGreaterOrEqual(0))
 				.Sum(x => (x.Item1.EngineSpeed * x.Item1.CombustionEngineTorque) * (x.Item2.Time - x.Item1.Time)).ConvertToKiloWattHour();
 
-			var CH4 = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.CH4MassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
-			var CO = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.COMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
-			var NMHC = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.NMHCMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
-			var NOx = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.NOxMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
-			var THC = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.THCMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
-			var CO2 = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.CO2MassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
+			if (runData.Cycle.Entries.First().CH4MassFlow != null) {
+				var CH4 = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.CH4MassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
+				row[Fields.POLLUTANT_CH4] = (ConvertedSI) (CH4 / energy).SI<Scalar>();
+			}
 
-			row[Fields.POLLUTANT_CH4] = (ConvertedSI) (CH4 / energy).SI<Scalar>();
+			var CO = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.COMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
 			row[Fields.POLLUTANT_CO] = (ConvertedSI) (CO / energy).SI<Scalar>();
-			row[Fields.POLLUTANT_NMHC] = (ConvertedSI) (NMHC / energy).SI<Scalar>();
+			
+			if (runData.Cycle.Entries.First().NMHCMassFlow != null) {
+				var NMHC = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.NMHCMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
+				row[Fields.POLLUTANT_NMHC] = (ConvertedSI) (NMHC / energy).SI<Scalar>();
+			}
+
+			var NOx = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.NOxMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
 			row[Fields.POLLUTANT_NOX] = (ConvertedSI) (NOx / energy).SI<Scalar>();
+			
+			var THC = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.THCMassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
 			row[Fields.POLLUTANT_THC] = (ConvertedSI) (THC / energy).SI<Scalar>();
+			
+			var CO2 = runData.Cycle.Entries.Pairwise().Sum(x => (x.Item1.CO2MassFlow) * (x.Item2.Time - x.Item1.Time)).ConvertToGramm();
 			row[Fields.POLLUTANT_CO2] = (ConvertedSI) (CO2 / energy).SI<Scalar>();
 
 			var simulatedEnergy = modData.TotalEngineWorkPositive().ConvertToKiloWattHour();