diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
index c7c8fe3af0b54ad07e54d2c4615cfb393626a105..c5a091d0eb5ad3dd0fa81cd6da6d897bcf014659 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
@@ -56,7 +56,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		private readonly ExecutionMode _mode;
 
-		public SimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer)
+		public SimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer,
+			DeclarationReport declarationReport = null)
 		{
 			Log.Fatal("########## VectoCore Version {0} ##########", Assembly.GetExecutingAssembly().GetName().Version);
 			JobNumber = Interlocked.Increment(ref _jobNumberCounter);
@@ -69,7 +70,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					if (declDataProvider == null) {
 						throw new VectoException("InputDataProvider does not implement DeclarationData interface");
 					}
-					var report = new PDFDeclarationReport(writer);
+					var report = declarationReport ?? new PDFDeclarationReport(writer);
 					var windowsIdentity = WindowsIdentity.GetCurrent();
 					report.Creator = windowsIdentity != null ? windowsIdentity.Name : "N/A";
 					report.JobName = declDataProvider.JobInputData().JobName;
@@ -147,7 +148,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 				var validationErrors = run.Validate();
 				if (validationErrors.Any()) {
-					throw new VectoException("Validation of Run-Data Failed: " + "\n".Join(validationErrors.Select(r => r.ErrorMessage)));
+					throw new VectoException("Validation of Run-Data Failed: " +
+											"\n".Join(validationErrors.Select(r => r.ErrorMessage)));
 				}