diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
index ed34d5b54674845e37e7806cca766bb98975f12b..73b0fc5e92c2fc56bbf1311e600cfea0b8e35676 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
@@ -64,6 +64,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			_mode = mode;
 			ModWriter = writer;
 
+			int workerThreads;
+			int completionThreads;
+			ThreadPool.GetMinThreads(out workerThreads, out completionThreads);
+			if (workerThreads < 12) {
+				workerThreads = 12;
+			}
+			ThreadPool.SetMinThreads(workerThreads, completionThreads);
+
 			switch (mode) {
 				case ExecutionMode.Declaration:
 					var declDataProvider = dataProvider as IDeclarationInputDataProvider;