Index: trunk/ppImage/src/ppImage.h
===================================================================
--- trunk/ppImage/src/ppImage.h	(revision 24078)
+++ trunk/ppImage/src/ppImage.h	(revision 24079)
@@ -44,6 +44,6 @@
     bool checkCTE;                      // measure pixel-based variance
 
-    bool doCrosstalkMeasure;		// measure crosstalk signal
-    bool doCrosstalkCorrect;		// apply crosstalk correction
+    bool doCrosstalkMeasure;            // measure crosstalk signal
+    bool doCrosstalkCorrect;            // apply crosstalk correction
 
     // output files requested
@@ -69,4 +69,5 @@
     psImageMaskType lowMask;            // Mask value to give bad pixels
     psImageMaskType flatMask;           // Mask value to give bad flat pixels
+    psImageMaskType darkMask;           // Mask value to give bad dark pixels
     psImageMaskType blankMask;          // Mask value to give blank pixels
 
Index: trunk/ppImage/src/ppImageDetrendReadout.c
===================================================================
--- trunk/ppImage/src/ppImageDetrendReadout.c	(revision 24078)
+++ trunk/ppImage/src/ppImageDetrendReadout.c	(revision 24079)
@@ -68,5 +68,5 @@
 
     if (options->doDark && dark) {
-        if (!pmDarkApply(input, dark, options->flatMask)) {
+        if (!pmDarkApply(input, dark, options->darkMask)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to subtract dark.");
             psFree(detview);
Index: trunk/ppImage/src/ppImageOptions.c
===================================================================
--- trunk/ppImage/src/ppImageOptions.c	(revision 24078)
+++ trunk/ppImage/src/ppImageOptions.c	(revision 24079)
@@ -58,4 +58,5 @@
     options->lowMask         = 0x00;    // out-of-bounds (low) pixels (supplied to pmReadoutGenerateMask)
     options->flatMask        = 0x00;    // Bad flat pixels (supplied to pmFlatField)
+    options->darkMask        = 0x00;    // Bad dark pixels (supplied to pmDarkApply)
     options->blankMask       = 0x00;    // Blank (no data, cell gap) pixels (supplied to pmChipMosaic, pmFPAMosaic)
     options->markValue       = 0x00;    // A safe bit for internal marking
Index: trunk/ppImage/src/ppImageSetMaskBits.c
===================================================================
--- trunk/ppImage/src/ppImageSetMaskBits.c	(revision 24078)
+++ trunk/ppImage/src/ppImageSetMaskBits.c	(revision 24079)
@@ -14,7 +14,11 @@
     // at this point we know we have valid values for required entries SAT, BAD, FLAT, BLANK:
 
-    // mask for non-linear flat corrections
+    // mask for bad flat corrections
     options->flatMask = pmConfigMaskGet("FLAT", config);
     psAssert (options->flatMask, "flat mask not set");
+
+    // mask for bad dark corrections
+    options->darkMask = pmConfigMaskGet("DARK", config);
+    psAssert (options->darkMask, "dark mask not set");
 
     // mask for non-existent data  (default to DETECTOR if not defined)
