Index: trunk/ppSub/src/ppSubCamera.c
===================================================================
--- trunk/ppSub/src/ppSubCamera.c	(revision 19757)
+++ trunk/ppSub/src/ppSubCamera.c	(revision 20614)
@@ -179,18 +179,5 @@
     if (psMetadataLookupBool(NULL, recipe, "PHOTOMETRY")) {
         psphotModelClassInit ();        // load implementation-specific models
-        pmFPAfile *psphot = pmFPAfileDefineFromFPA(config, output->fpa, 1, 1, "PSPHOT.INPUT");
-        if (!psphot) {
-            psError(PS_ERR_IO, false, "Failed to build FPA from PSPHOT.INPUT");
-            return false;
-        }
-        if (psphot->type != PM_FPA_FILE_IMAGE) {
-            psError(PS_ERR_IO, true, "PSPHOT.INPUT is not of type IMAGE");
-            return false;
-        }
-
-        if (!psphotDefineFiles(config, psphot)) {
-            psError(PS_ERR_UNKNOWN, false, "Unable to set up psphot files.");
-            return false;
-        }
+
 
         // Internal-ish file for getting the PSF from the matched addition
@@ -205,4 +192,22 @@
         }
         pmFPAfileActivate(config->files, false, "PSPHOT.PSF.LOAD");
+    }
+
+    // Always do this, since we're using psphot for the background model.
+    {
+        pmFPAfile *psphot = pmFPAfileDefineFromFPA(config, output->fpa, 1, 1, "PSPHOT.INPUT");
+        if (!psphot) {
+            psError(PS_ERR_IO, false, "Failed to build FPA from PSPHOT.INPUT");
+            return false;
+        }
+        if (psphot->type != PM_FPA_FILE_IMAGE) {
+            psError(PS_ERR_IO, true, "PSPHOT.INPUT is not of type IMAGE");
+            return false;
+        }
+
+        if (!psphotDefineFiles(config, psphot)) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to set up psphot files.");
+            return false;
+        }
 
     }
