Index: trunk/ppSub/src/ppSubArguments.c
===================================================================
--- trunk/ppSub/src/ppSubArguments.c	(revision 29937)
+++ trunk/ppSub/src/ppSubArguments.c	(revision 31156)
@@ -57,4 +57,9 @@
 }
 
+void ppSubSetThreads (void) {
+    // ppSub does not have any of its own thread handlers
+    return;
+}
+
 bool ppSubArguments(int argc, char *argv[], ppSubData *data)
 {
@@ -62,4 +67,10 @@
     pmConfig *config = data->config;
     assert(config);
+
+    // generic arguments (version, dumpconfig)
+    PS_ARGUMENTS_GENERIC( ppSub, config, argc, argv );
+
+    // thread arguments
+    PS_ARGUMENTS_THREADS( ppSub, config, argc, argv )
 
     int argNum = psArgumentGet(argc, argv, "-debug"); // Debugging argument number
@@ -82,6 +93,4 @@
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "Statistics file", NULL);
     psMetadataAddStr(arguments,  PS_LIST_TAIL, "-stamps", 0, "Stamps filename; x,y on each line", NULL);
-    psMetadataAddS32(arguments, PS_LIST_TAIL, "-threads", 0, "Number of threads", 0);
-    psMetadataAddStr(arguments, PS_LIST_TAIL, "-dumpconfig", 0, "file to dump configuration to", NULL);
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-convolve", 0, "Image to convolve [1 or 2]", 0);
     psMetadataAddBool(arguments, PS_LIST_TAIL, "-photometry", 0, "Perform photometry?", NULL);
@@ -166,12 +175,4 @@
     }
 
-    int threads = psMetadataLookupS32(NULL, arguments, "-threads"); // Number of threads
-    if (threads > 0) {
-        if (!psThreadPoolInit(threads)) {
-            psError(psErrorCodeLast(), false, "Unable to setup %d threads", threads);
-            return false;
-        }
-    }
-
     psTrace("ppSub", 1, "Done reading command-line arguments\n");
 
