Index: /trunk/ppImage/src/ppImageLoop.c
===================================================================
--- /trunk/ppImage/src/ppImageLoop.c	(revision 25846)
+++ /trunk/ppImage/src/ppImageLoop.c	(revision 25847)
@@ -51,17 +51,17 @@
         }
 
-	// crosstalk measurement needs to be done on the entire chip at once, and before
-	// signal levels are modified by the detrending.  If crosstalk measurement is
-	// requested, the read-level for the images is set to CHIP.
-	if (!ppImageMeasureCrosstalk(config, options, view)) {
-	  ESCAPE("Unable to perform crosstalk correction");
-	}
-
-	// crosstalk correction needs to be done on the entire chip at once, and before
-	// signal levels are modified by the detrending.  If crosstalk correction is
-	// requested, the read-level for the images is set to CHIP.
-	if (!ppImageCorrectCrosstalk(config, options, view)) {
-	  ESCAPE("Unable to perform crosstalk correction");
-	}
+        // crosstalk measurement needs to be done on the entire chip at once, and before
+        // signal levels are modified by the detrending.  If crosstalk measurement is
+        // requested, the read-level for the images is set to CHIP.
+        if (!ppImageMeasureCrosstalk(config, options, view)) {
+          ESCAPE("Unable to perform crosstalk correction");
+        }
+
+        // crosstalk correction needs to be done on the entire chip at once, and before
+        // signal levels are modified by the detrending.  If crosstalk correction is
+        // requested, the read-level for the images is set to CHIP.
+        if (!ppImageCorrectCrosstalk(config, options, view)) {
+          ESCAPE("Unable to perform crosstalk correction");
+        }
 
         psTimerStart(TIMER_DETREND);
@@ -104,6 +104,6 @@
                 }
 
-		// XXX TEST:
-		// psphotSaveImage (NULL, readout->image, "test.image.fits");
+                // XXX TEST:
+                // psphotSaveImage (NULL, readout->image, "test.image.fits");
 
                 // XXX set the options->*Mask values here (after the mask images have been loaded
@@ -250,5 +250,7 @@
     psString dump_file = psMetadataLookupStr(&status, config->arguments, "DUMP_CONFIG");
     if (dump_file) {
-        pmConfigDump(config, dump_file);
+        if (!pmConfigDump(config, dump_file)) {
+            ESCAPE("Unable to dump configuration.");
+        }
     }
 
Index: /trunk/ppStack/src/ppStackFinish.c
===================================================================
--- /trunk/ppStack/src/ppStackFinish.c	(revision 25846)
+++ /trunk/ppStack/src/ppStackFinish.c	(revision 25847)
@@ -66,5 +66,8 @@
     psString dump = psMetadataLookupStr(&mdok, config->arguments, "DUMP_CONFIG"); // File for config
     if (dump) {
-        pmConfigDump(config, dump);
+        if (!pmConfigDump(config, dump)) {
+            psError(PS_ERR_IO, false, "Unable to dump configuration.");
+            return false;
+        }
     }
 
Index: /trunk/ppSub/src/ppSub.c
===================================================================
--- /trunk/ppSub/src/ppSub.c	(revision 25846)
+++ /trunk/ppSub/src/ppSub.c	(revision 25847)
@@ -76,4 +76,11 @@
     psTimerStop();
 
+    psString dump_file = psMetadataLookupStr(NULL, data->config->arguments, "-dumpconfig");
+    if (dump_file) {
+        if (!pmConfigDump(data->config, dump_file)) {
+            psErrorStackPrint(stderr, "Unable to dump configuration.\n");
+            exitValue = PS_EXIT_SYS_ERROR;
+        }
+    }
     psFree(data);
 
Index: /trunk/ppSub/src/ppSubData.c
===================================================================
--- /trunk/ppSub/src/ppSubData.c	(revision 25846)
+++ /trunk/ppSub/src/ppSubData.c	(revision 25847)
@@ -29,8 +29,4 @@
     psFree(data->stats);
 
-    psString dump_file = psMetadataLookupStr(NULL, data->config->arguments, "-dumpconfig");
-    if (dump_file) {
-        pmConfigDump(data->config, dump_file);
-    }
     psFree(data->config);
 
Index: /trunk/pswarp/src/pswarpLoop.c
===================================================================
--- /trunk/pswarp/src/pswarpLoop.c	(revision 25846)
+++ /trunk/pswarp/src/pswarpLoop.c	(revision 25847)
@@ -488,5 +488,8 @@
     psString dump_file = psMetadataLookupStr(&status, config->arguments, "DUMP_CONFIG");
     if (dump_file) {
-        pmConfigDump(config, dump_file);
+        if (!pmConfigDump(config, dump_file)) {
+            psError(PS_ERR_IO, false, "Unable to dump configuration");
+            return false;
+        }
     }
 
