Index: /trunk/ppViz/src/ppVizPSF/ppVizPSF.h
===================================================================
--- /trunk/ppViz/src/ppVizPSF/ppVizPSF.h	(revision 42382)
+++ /trunk/ppViz/src/ppVizPSF/ppVizPSF.h	(revision 42383)
@@ -15,4 +15,5 @@
     psString outRoot;                   // Output root name
     float minFlux;                      // Minimum flux for sources
+    bool useResiduals;			// include PSF residuals in output?
     int size;                           // Size of PSF image
     float x, y;                         // Position of fake source
Index: /trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c
===================================================================
--- /trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 42382)
+++ /trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 42383)
@@ -55,4 +55,7 @@
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-x", 0, "x position of fake source [0..1]", NAN);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-y", 0, "y position of fake source [0..1]", NAN);
+
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-use-resid", 0, "Number of fake sources", false);
+
     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 2) {
         usage(argv[0], arguments, data);
@@ -67,4 +70,7 @@
     data->x = psMetadataLookupF32(NULL, arguments, "-x");
     data->y = psMetadataLookupF32(NULL, arguments, "-y");
+
+    data->useResiduals = psMetadataLookupBool(NULL, arguments, "-use-resid");
+
     psMetadataAddStr(data->config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Output root name", data->outRoot);
 
Index: /trunk/ppViz/src/ppVizPSF/ppVizPSFLoop.c
===================================================================
--- /trunk/ppViz/src/ppVizPSF/ppVizPSFLoop.c	(revision 42382)
+++ /trunk/ppViz/src/ppVizPSF/ppVizPSFLoop.c	(revision 42383)
@@ -157,6 +157,11 @@
 
                 // We have trouble with PSF residuals, so don't use them
-                psFree(psf->residuals);
-                psf->residuals = NULL;
+		// XXX EAM 2022.05.02 : re-instating the residuals; what kind of trouble??
+		// optionally use residuals (if -use-residuals is supplied)
+		if (!data->useResiduals) {
+		    fprintf (stderr, "skipping residuals\n");
+		    psFree(psf->residuals);
+		    psf->residuals = NULL;
+		}
 		fprintf(stderr,"still here");
                 if (sources) {
