diff --git a/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs b/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs
index 89fafb2aca8e53758c967bc9814ca0892d95c6a4..7acb98dc79c420e26a6f1289fa5d0841de21717b 100644
--- a/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs
+++ b/VECTO3GUI/ViewModel/Impl/AbstractBusJobViewModel.cs
@@ -256,7 +256,8 @@ namespace VECTO3GUI.ViewModel.Impl
 
 		private void UpdateJobData()
 		{
-			SavedJobEntry.Body.PrimaryVehicle = FirstFilePath;
+			SavedJobEntry.Body.PrimaryVehicle = JobType.SingleBusJob == JobType ? FirstFilePath : null; ;
+			SavedJobEntry.Body.PrimaryVehicleResults = JobType.CompletedBusJob == JobType ? FirstFilePath : null;
 			SavedJobEntry.Body.CompletedVehicle = SecondFilePath;
 		}
 
diff --git a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
index c4a814071f5c6d51ba560ae754c69a2c6819251d..72a6c617ffcffb21622c35e24a5f65be9f591558 100644
--- a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
+++ b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
@@ -868,7 +868,7 @@ namespace VECTO3GUI.ViewModel.Impl
 				sender.ReportProgress(100, new VectoSimulationProgress() {Type = VectoSimulationProgress.MsgType.StatusMessage, Message = "No jobs selected for simulation"});
 				return;
 			}
-			var sumFileWriter = new FileOutputWriter(Path.GetDirectoryName(jobs.First().JobEntryFilePath));
+			var sumFileWriter = new FileOutputWriter(GetOutputDirectory(jobs.First().JobEntryFilePath));
 			var sumContainer = new SummaryDataContainer(sumFileWriter);
 			var jobContainer = new JobContainer(sumContainer);
 
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
index a0aace79fc3973dda4d06afbddb318bd71b69fea..253edef79dbdfe03156187d319a9f7626ca937d8 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
@@ -193,9 +193,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var fc = (row.ParseDouble("FC_norm") * ratedPower.Value() / 1000).SI(Unit.SI.Gramm.Per.Hour) .Cast<KilogramPerSecond>();
 
 				var newRow = result.NewRow();
-				newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = Math.Round(engineSpeed.AsRPM,2, MidpointRounding.AwayFromZero);
-				newRow[FuelConsumptionMapReader.Fields.Torque] = Math.Round(torque.Value(), 2, MidpointRounding.AwayFromZero);
-				newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = Math.Round(fc.ConvertToGrammPerHour().Value, 2, MidpointRounding.AwayFromZero);
+				newRow[FuelConsumptionMapReader.Fields.EngineSpeed] = Math.Round(engineSpeed.AsRPM,2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
+				newRow[FuelConsumptionMapReader.Fields.Torque] = Math.Round(torque.Value(), 2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
+				newRow[FuelConsumptionMapReader.Fields.FuelConsumption] = Math.Round(fc.ConvertToGrammPerHour().Value, 2, MidpointRounding.AwayFromZero).ToXMLFormat();
 				result.Rows.Add(newRow);
 			}
 
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusRetarderData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusRetarderData.cs
index 5ac54b1cda29c7b654588761f110889e214d9fcc..457412e37666e5dffd2fd26594cd7f409abc1d97 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusRetarderData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusRetarderData.cs
@@ -3,6 +3,7 @@ using System.Data;
 using System.ServiceModel;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
@@ -46,9 +47,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			for (int i = 0; i < genericRetarderLosses.Length; i++)
 			{
 				var newRow = torqueLoss.NewRow();
-				newRow[RetarderLossMapReader.Fields.RetarderSpeed] = Math.Round(retarderSpeeds[i], 2, MidpointRounding.AwayFromZero);
+				newRow[RetarderLossMapReader.Fields.RetarderSpeed] = Math.Round(retarderSpeeds[i], 2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
 				newRow[RetarderLossMapReader.Fields.TorqueLoss] = Math.Round(genericRetarderLosses[i] *
-					Constants.GenericLossMapSettings.RetarderGenericFactor, 2, MidpointRounding.AwayFromZero);
+					Constants.GenericLossMapSettings.RetarderGenericFactor, 2, MidpointRounding.AwayFromZero).ToXMLFormat();
 				torqueLoss.Rows.Add(newRow);
 			}
 
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
index 2630e51ac12b731d81a976f00ae1dafd5ba4d378..3f126422b4793e8186a0af1542cbf622bf311c43 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericTransmissionComponentData.cs
@@ -103,9 +103,9 @@ namespace TUGraz.VectoCore.Models.GenericModelData
 						: outputSpeed;
 					
 					var newRow = lossMap.NewRow();
-					newRow[lossMap.Columns[0]] = outputSpeed;
-					newRow[lossMap.Columns[1]] = torque;
-					newRow[lossMap.Columns[2]] = CalculateOutputTorqueLoss(td0_, td150_, td_n, calculationSpeed, torque, efficiency);
+					newRow[lossMap.Columns[0]] = outputSpeed.ToXMLFormat(2);
+					newRow[lossMap.Columns[1]] = torque.ToXMLFormat(2);
+					newRow[lossMap.Columns[2]] = CalculateOutputTorqueLoss(td0_, td150_, td_n, calculationSpeed, torque, efficiency).ToXMLFormat(2);
 
 					lossMap.Rows.Add(newRow);
 				}
@@ -138,9 +138,9 @@ namespace TUGraz.VectoCore.Models.GenericModelData
 				var outputLoss = row[2].ToString().ToDouble();
 
 				var newRow = inputLossMap.NewRow();
-				newRow[0] = Math.Round(GetInputSpeed(outputSpeed, axleRatio), 2, MidpointRounding.AwayFromZero);
-				newRow[1] = Math.Round(GetInputTorque(outputTorque, outputLoss, axleRatio), 2, MidpointRounding.AwayFromZero);
-				newRow[2] = Math.Round(GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor), 2, MidpointRounding.AwayFromZero);
+				newRow[0] = Math.Round(GetInputSpeed(outputSpeed, axleRatio), 2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
+				newRow[1] = Math.Round(GetInputTorque(outputTorque, outputLoss, axleRatio), 2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
+				newRow[2] = Math.Round(GetInputTorqueLoss(outputLoss, axleRatio, lossCorrectionFactor), 2, MidpointRounding.AwayFromZero).ToXMLFormat(2);
 				inputLossMap.Rows.Add(newRow);
 			}