diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
index 1153d2f2a7f8752f60ec38a2df2acef6a06bcfe1..ae4fa9940d3b4d85fc9c30c304ed02ee30693684 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
@@ -22,7 +22,7 @@ using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
 
 namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 {
-    public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
+	public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
 	{
 		public static readonly string INPUTPROVIDERTYPE = typeof(XMLDeclarationMultistageTypeInputDataV01).ToString();
 		public static readonly string QualifiedXSD = XMLDeclarationMultistageTypeInputDataV01.QUALIFIED_XSD_TYPE;
@@ -80,7 +80,9 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		public ManufacturingStageViewModel_v0_1(IManufacturingStageInputData consolidatedManufacturingStageInputData, IMultiStageViewModelFactory viewModelFactory)
 		{
 			_viewModelFactory = viewModelFactory;
-			_stageCount = consolidatedManufacturingStageInputData?.StageCount?? + 1;
+			
+			_stageCount = consolidatedManufacturingStageInputData?.StageCount + 1 ?? 2;
+
 			_consolidatedManufacturingStageInputData = consolidatedManufacturingStageInputData;
 
 
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
index 750fd2ed2d71511a79c3ff8c68e359e72c94d38b..06594be48c34a512ee335cedaf508b7c8dcc0138 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
@@ -74,12 +74,18 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			}
 		}
 
-		public static void SaveVif(IMultistageVIFInputData vifData, string outputFile)
+		public static void SaveVif(IMultistageVIFInputData vifData, FileOutputVIFWriter writer)
 		{
-			var numberOfManufacturingStages =
-				vifData.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 1;
+			SaveVif(vifData, null, writer);
+		}
+		
+		public static void SaveVif(IMultistageVIFInputData vifData, string outputFile, FileOutputVIFWriter writer = null)
+		{
+			if (writer == null) {
+				var numberOfManufacturingStages = vifData.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
+				writer = new FileOutputVIFWriter(outputFile, numberOfManufacturingStages);
+			}
 
-			var writer = new FileOutputVIFWriter(outputFile, numberOfManufacturingStages);
 			var inputData = new XMLDeclarationVIFInputData(vifData.MultistageJobInputData, vifData.VehicleInputData);
 
 			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
@@ -94,23 +100,14 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 			jobContainer.Execute();
 			jobContainer.WaitFinished();
-			var progress = jobContainer.GetProgress();
 			
-
 			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
-
-
-
 			var valid = validator.ValidateXML(XmlDocumentType.MultistageOutputData);
 			if (!valid) {
 				Debug.WriteLine("Invalid Outputfile");
 			}
 
 			Debug.WriteLine($"Written to {writer.XMLMultistageReportFileName}");
-
-
-
-
 		}
 
 		private ICommand _saveInputDataCommand;
diff --git a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
index e7b5bd992be644363900f88a794b8eaf9a893180..2b987deb5ec1f5b608c4bae1ddd8b6cd9e8768c4 100644
--- a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
@@ -21,7 +21,7 @@ namespace Vecto3GUI2020Test.ViewModelTests
 			var multistagevm = loadFile(primary_vehicle_only).MultiStageJobViewModel;
 			var stage = multistagevm.ManufacturingStageViewModel.StageCount;
 
-			Assert.AreEqual(1, stage);
+			Assert.AreEqual(2, stage);
 
 			//Set Necessary Fields
 			var vehicle =
@@ -29,24 +29,18 @@ namespace Vecto3GUI2020Test.ViewModelTests
 			vehicle.ManufacturerAddress = "Address";
 			vehicle.Manufacturer = "Manufacturer";
 			vehicle.VIN = "VIN12345678";
+			
+			var writer = GetFileOutputVIFWriter(multistagevm);
+			
+			deleteFile(writer.XMLMultistageReportFileName);
+			getMockDialogHelper(null, writer.XMLMultistageReportFileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
 
+			MultiStageJobViewModel_v0_1.SaveVif(multistagevm, writer);
 
-			var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
-			var outputFilePath = Path.Combine(DirPath, outputFileName);
-
-			var nextStageNumber = multistagevm.ManufacturingStageViewModel?.StageCount + 2 ?? 2;
-			var expectedOutputFilePath = outputFilePath.Replace(".xml", $".{FileOutputVIFWriter.REPORT_ENDING_PREFIX}{nextStageNumber}.xml");
-			deleteFile(expectedOutputFilePath);
-
-
-			getMockDialogHelper(null, outputFilePath);
-			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFilePath).Object);
-
-			MultiStageJobViewModel_v0_1.SaveVif(multistagevm, outputFilePath);
-
-			Assert.IsTrue(File.Exists(expectedOutputFilePath));
+			Assert.IsTrue(File.Exists(writer.XMLMultistageReportFileName));
 
-			var validator = new XMLValidator(XmlReader.Create(expectedOutputFilePath));
+			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
 			Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
 		}
 
@@ -83,7 +77,6 @@ namespace Vecto3GUI2020Test.ViewModelTests
 			_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
 
 			multiStageViewModel.LoadVehicleDataCommand.Execute(null);
-
 			
 			var vehicle =
 				multiStageViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
@@ -93,21 +86,26 @@ namespace Vecto3GUI2020Test.ViewModelTests
 			vehicle.AirdragModifiedMultistage = true;
 			vehicle.VehicleDeclarationType = VehicleDeclarationType.interim;
 			
-			var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
-			var outputFilePath = Path.Combine(DirPath, outputFileName);
-
-			var nextStageNumber = multiStageViewModel.ManufacturingStages?.Count + 2 ?? 2;
-			var expectedOutputFilePath = outputFilePath.Replace(".xml", $".{FileOutputVIFWriter.REPORT_ENDING_PREFIX}{nextStageNumber}.xml");
-			deleteFile(expectedOutputFilePath);
+			var writer = GetFileOutputVIFWriter(multiStageViewModel);
 			
-			getMockDialogHelper(null, outputFilePath);
-			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFilePath).Object);
+			deleteFile(writer.XMLMultistageReportFileName);
+			getMockDialogHelper(null, writer.XMLMultistageReportFileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
 			
-			MultiStageJobViewModel_v0_1.SaveVif(multiStageViewModel, outputFilePath);
+			MultiStageJobViewModel_v0_1.SaveVif(multiStageViewModel, writer);
 			
-			var validator = new XMLValidator(XmlReader.Create(expectedOutputFilePath));
+			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
 			Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
+		}
+
+
+		private FileOutputVIFWriter GetFileOutputVIFWriter(IMultiStageJobViewModel multistageViewModel)
+		{
+			var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
+			var outputFilePath = Path.Combine(DirPath, outputFileName);
 
+			var currentStageCount = multistageViewModel.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
+			return  new FileOutputVIFWriter(outputFilePath, currentStageCount);
 		}
 
 	}