Index: trunk/pswarp/src/pswarpArguments.c
===================================================================
--- trunk/pswarp/src/pswarpArguments.c	(revision 19043)
+++ trunk/pswarp/src/pswarpArguments.c	(revision 19399)
@@ -59,4 +59,11 @@
         psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PSF", 0, "Do PSF determination?", true);
     }
+    if ((N = psArgumentGet(argc, argv, "-dumpconfig"))) {
+        psArgumentRemove(N, &argc, argv);
+        psMetadataAddStr(config->arguments, PS_LIST_TAIL, "DUMP_CONFIG", PS_META_REPLACE,
+                         "Filename for configuration dump", argv[N]);
+        psArgumentRemove(N, &argc, argv);
+    }
+
 
     if (!pmConfigFileSetsMD (config->arguments, &argc, argv, "INPUT", "-file", "-list")) {
@@ -166,5 +173,6 @@
 
     // Dump configuration, now that's it's settled
-    {
+    psString dump_file =  psMetadataLookupStr(&status, config->arguments, "DUMP_CONFIG");
+    if (dump_file) {
         const char *skyCamera = psMetadataLookupStr(NULL, config->arguments,
                                                     "SKYCELL.CAMERA");  // Name of camera for skycell
@@ -172,9 +180,6 @@
         pmConfigRecipesCull(config, "PSWARP,PPSTATS,PSPHOT,MASKS");
 
-        const char *outroot = psMetadataLookupStr(NULL, config->arguments, "OUTPUT"); // Output root name
-        psAssert(outroot, "Should be there, we put it there!");
-
         pmFPAfile *input = psMetadataLookupPtr(NULL, config->files, "PSWARP.INPUT"); // Input file
-        pmConfigDump(config, input->fpa, outroot);
+        pmConfigDump(config, input->fpa, dump_file);
     }
 
