Index: /trunk/ppStack/src/ppStackArguments.c
===================================================================
--- /trunk/ppStack/src/ppStackArguments.c	(revision 18652)
+++ /trunk/ppStack/src/ppStackArguments.c	(revision 18653)
@@ -194,4 +194,9 @@
     valueArgStr(arguments, "-stats", "STATS", config->arguments);
 
+    if (psMetadataLookupBool(NULL, arguments, "-photometry")) {
+        psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PHOTOMETRY", 0,
+                          "Do photometry on stacked image?", true);
+    }
+
     return true;
 }
Index: /trunk/ppStack/src/ppStackCamera.c
===================================================================
--- /trunk/ppStack/src/ppStackCamera.c	(revision 18652)
+++ /trunk/ppStack/src/ppStackCamera.c	(revision 18653)
@@ -350,9 +350,15 @@
     }
 
+    psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSTACK_RECIPE); // Recipe for ppSim
+    if (!recipe) {
+        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to find recipe %s", PPSTACK_RECIPE);
+        return false;
+    }
 
     // For photometry, we operate on the chip-mosaicked image
     // we create a copy of the mosaicked image for psphot so we can write out a clean image
     bool mdok = false;
-    bool doPhotom = psMetadataLookupBool(&mdok, config->arguments, "PHOTOMETRY"); // perform photometry
+    bool doPhotom = psMetadataLookupBool(&mdok, recipe, "PHOTOMETRY") ||
+        psMetadataLookupBool(&mdok, config->arguments, "PHOTOMETRY"); // perform photometry
     if (doPhotom) {
         // This file, PSPHOT.INPUT, is just used as a carrier; output files (eg, PSPHOT.RESID) are defined by
Index: /trunk/ppSub/src/ppSubArguments.c
===================================================================
--- /trunk/ppSub/src/ppSubArguments.c	(revision 18652)
+++ /trunk/ppSub/src/ppSubArguments.c	(revision 18653)
@@ -240,4 +240,8 @@
     }
 
+    if (psMetadataLookupBool(NULL, config->arguments, "-photometry")) {
+        psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PHOTOMETRY", 0, "Perform photometry?", true);
+    }
+
     return true;
 }
Index: /trunk/ppSub/src/ppSubCamera.c
===================================================================
--- /trunk/ppSub/src/ppSubCamera.c	(revision 18652)
+++ /trunk/ppSub/src/ppSubCamera.c	(revision 18653)
@@ -136,6 +136,14 @@
     }
 
+    psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSUB_RECIPE); // Recipe for ppSim
+    if (!recipe) {
+        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to find recipe %s", PPSUB_RECIPE);
+        return false;
+    }
+
     // psPhot input
-    if (psMetadataLookupBool(NULL, config->arguments, "PHOTOMETRY")) {
+    if (psMetadataLookupBool(NULL, config->arguments, "PHOTOMETRY") ||
+        psMetadataLookupBool(NULL, recipe, "PHOTOMETRY") ) {
+        psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PHOTOMETRY", 0, "Perform photometry?", true);
         psphotModelClassInit ();        // load implementation-specific models
         pmFPAfile *psphot = pmFPAfileDefineFromFPA(config, output->fpa, 1, 1, "PSPHOT.INPUT");
