Index: trunk/ppSub/src/ppSubArguments.c
===================================================================
--- trunk/ppSub/src/ppSubArguments.c	(revision 18920)
+++ trunk/ppSub/src/ppSubArguments.c	(revision 18963)
@@ -217,4 +217,5 @@
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-renorm-width", 0, "Renormalisation width", 0);
     psMetadataAddBool(arguments, PS_LIST_TAIL, "-photometry", 0, "Perform photometry?", false);
+    psMetadataAddS32(arguments, PS_LIST_TAIL, "-threads", 0, "Number of threads", 0);
 
     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 4) {
@@ -252,4 +253,13 @@
     if (psMetadataLookupBool(NULL, arguments, "-photometry")) {
         psMetadataAddBool(recipe, PS_LIST_TAIL, "PHOTOMETRY", PS_META_REPLACE, "Perform photometry?", true);
+    }
+
+    int threads = psMetadataLookupS32(NULL, arguments, "-threads"); // Number of threads
+    if (threads > 0) {
+        if (!psThreadPoolInit(threads)) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to setup %d threads", threads);
+            return false;
+        }
+        pmSubtractionThreadSetup();
     }
 
