Index: trunk/ppSub/src/ppSubArguments.c
===================================================================
--- trunk/ppSub/src/ppSubArguments.c	(revision 19165)
+++ trunk/ppSub/src/ppSubArguments.c	(revision 19399)
@@ -219,4 +219,5 @@
     psMetadataAddBool(arguments, PS_LIST_TAIL, "-photometry", 0, "Perform photometry?", false);
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-threads", 0, "Number of threads", 0);
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-dumpconfig", 0, "file to dump configuration to", NULL);
 
     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 4) {
@@ -345,13 +346,12 @@
 
     // Dump configuration, now that's it's settled
-    {
+    psBool status;
+    psString dump_file =  psMetadataLookupStr(&status, config->arguments, "-dumpconfig");
+    if (dump_file) {
         pmConfigCamerasCull(config, NULL);
         pmConfigRecipesCull(config, "PPSUB,PPSTATS,PSPHOT,MASKS");
 
-        const char *outroot = psMetadataLookupStr(NULL, arguments, "OUTPUT"); // Output root name
-        psAssert(outroot, "Should be there, we put it there!");
-
         pmFPAfile *input = psMetadataLookupPtr(NULL, config->files, "PPSUB.INPUT"); // Input file
-        pmConfigDump(config, input->fpa, outroot);
+        pmConfigDump(config, input->fpa, dump_file);
     }
 
