Index: trunk/psphot/src/psphotStackImageLoop.c
===================================================================
--- trunk/psphot/src/psphotStackImageLoop.c	(revision 36839)
+++ trunk/psphot/src/psphotStackImageLoop.c	(revision 38384)
@@ -30,4 +30,5 @@
 
     psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSPHOT_RECIPE);
+    bool updateMode = psMetadataLookupBool(&status, config->arguments, "PSPHOT.STACK.UPDATEMODE");
 
     // just load the full set of images up front except for EXPNUM which we defer
@@ -61,9 +62,17 @@
 
 		// XXX for now, we assume there is only a single chip in the PHU:
-		if (!psphotStackReadout (config, view)) {
-                    psError(psErrorCodeLast(), false, "failure in psphotStackReadout for chip %d, cell %d, readout %d\n", view->chip, view->cell, view->readout);
-                    psFree (view);
-                    return false;
-		}
+                if (!updateMode) {
+                    if (!psphotStackReadout (config, view)) {
+                        psError(psErrorCodeLast(), false, "failure in psphotStackReadout for chip %d, cell %d, readout %d\n", view->chip, view->cell, view->readout);
+                        psFree (view);
+                        return false;
+                    }
+                } else {
+                    if (!psphotStackUpdateReadout (config, view)) {
+                        psError(psErrorCodeLast(), false, "failure in psphotStackReadout for chip %d, cell %d, readout %d\n", view->chip, view->cell, view->readout);
+                        psFree (view);
+                        return false;
+                    }
+                }
 
 		UpdateHeadersForReadout(config, view);
