Index: /trunk/psphot/src/psphotChoosePSF.c
===================================================================
--- /trunk/psphot/src/psphotChoosePSF.c	(revision 11188)
+++ /trunk/psphot/src/psphotChoosePSF.c	(revision 11189)
@@ -14,5 +14,8 @@
     // check if a PSF model is supplied by the user
     psf = psMetadataLookupPtr (NULL, readout->analysis, "PSPHOT.PSF");
-    if (psf != NULL) return psf;
+    if (psf != NULL) {
+        if (!psphotPSFstats (readout, recipe, psf)) psAbort ("psphotChoosePSF", "cannot measure PSF shape terms");
+	return psf;
+    }
 
     // examine PSF sources in S/N order (brightest first)
@@ -244,5 +247,5 @@
     psFree (models);
 
-    psMetadataAdd (recipe, PS_LIST_TAIL, "NPSFSTAR", PS_DATA_S32 | PS_META_REPLACE, "number of stars used to make PSF", psf->nPSFstars);
+    if (!psphotPSFstats (readout, recipe, psf)) psAbort ("psphotChoosePSF", "cannot measure PSF shape terms");
 
     modelName = pmModelGetType (psf->type);
@@ -295,4 +298,5 @@
     psMetadataAdd (recipe, PS_LIST_TAIL, "FWHM_Y", PS_DATA_F32 | PS_META_REPLACE, "PSF FWHM Minor axis", FWHM_Y);
     psMetadataAdd (recipe, PS_LIST_TAIL, "ANGLE",  PS_DATA_F32 | PS_META_REPLACE, "PSF angle",           axes.theta);
+    psMetadataAdd (recipe, PS_LIST_TAIL, "NPSFSTAR", PS_DATA_S32 | PS_META_REPLACE, "number of stars used to make PSF", psf->nPSFstars);
 
     psFree (modelEXT);
