Index: /trunk/ippScripts/scripts/warp_skycell.pl
===================================================================
--- /trunk/ippScripts/scripts/warp_skycell.pl	(revision 25517)
+++ /trunk/ippScripts/scripts/warp_skycell.pl	(revision 25518)
@@ -183,4 +183,18 @@
 close $astromFile;
 
+# We need the recipe to determine if we care whether the PSF is generated or not
+my $recipe;
+{
+    my $command = "$ppConfigDump -camera $camera -dump-recipe PSWARP -recipe PSWARP $recipe_pswarp -";
+    my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
+        run(command => $command, verbose => $verbose);
+    unless ($success) {
+        $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
+        &my_die("Unable to perform ppConfigDump: $error_code", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR);
+    }
+    $recipe = $mdcParser->parse(join "", @$stdout_buf) or
+        &my_die("Unable to parse metadata config doc", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR);
+}
+
 
 # Run pswarp
@@ -201,5 +215,4 @@
     $command .= " -F SOURCE.PLOT.APRESID SOURCE.PLOT.SKY.APRESID";
     $command .= " -recipe PSWARP $recipe_pswarp";
-    $command .= " -psf";        # Turn on PSF determination
     $command .= " -tracedest $traceDest -log $logDest";
     $command .= " -threads $threads" if defined $threads;
@@ -253,5 +266,5 @@
             &my_die("Couldn't find expected output file: $outputWeight", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputWeight);
             &my_die("Couldn't find expected output file: $outputSources", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputSources);
-            &my_die("Couldn't find expected output file: $outputPSF", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputPSF);
+            &my_die("Couldn't find expected output file: $outputPSF", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) if metadataLookupBool($recipe, 'PSF') and not $ipprc->file_exists($outputPSF);
         }
 
Index: /trunk/ippconfig/recipes/pswarp.config
===================================================================
--- /trunk/ippconfig/recipes/pswarp.config	(revision 25517)
+++ /trunk/ippconfig/recipes/pswarp.config	(revision 25518)
@@ -10,4 +10,5 @@
 ACCEPT.FRAC		F32	0.1		# Minimum fraction of good pixels to accept result
 INTERPOLATION.NUM	S32	1000		# Number of interpolation kernels to pre-calculate
+PSF			BOOL	TRUE		# Measure PSF for warped image?
 
 # Default recipe for warping
Index: /trunk/pswarp/src/pswarpArguments.c
===================================================================
--- /trunk/pswarp/src/pswarpArguments.c	(revision 25517)
+++ /trunk/pswarp/src/pswarpArguments.c	(revision 25518)
@@ -74,9 +74,4 @@
     pswarpSetThreads ();
 
-    // PSF determination?
-    if ((N = psArgumentGet(argc, argv, "-psf"))) {
-        psArgumentRemove(N, &argc, argv);
-        psMetadataAddBool(config->arguments, PS_LIST_TAIL, "PSF", 0, "Do PSF determination?", true);
-    }
     if ((N = psArgumentGet(argc, argv, "-dumpconfig"))) {
         psArgumentRemove(N, &argc, argv);
Index: /trunk/pswarp/src/pswarpLoop.c
===================================================================
--- /trunk/pswarp/src/pswarpLoop.c	(revision 25517)
+++ /trunk/pswarp/src/pswarpLoop.c	(revision 25518)
@@ -16,5 +16,4 @@
 
 #define WCS_NONLIN_TOL 0.001            // Non-linear tolerance for header WCS
-#define PSPHOT_FIND_PSF 1               // Use psphot's findPSF function?
 #define TESTING 0                       // Testing output?
 
@@ -380,5 +379,5 @@
     // that's going to be tricky.  We have a list of sources, so we use those to redetermine the PSF model.
 
-    if (psMetadataLookupBool(&mdok, config->arguments, "PSF")) {
+    if (psMetadataLookupBool(&mdok, recipe, "PSF")) {
         fileActivation(config, photFiles, true);
         ioChecksBefore(config);
