Index: trunk/psphot/src/psphotRoughClass.c
===================================================================
--- trunk/psphot/src/psphotRoughClass.c	(revision 12792)
+++ trunk/psphot/src/psphotRoughClass.c	(revision 13374)
@@ -2,11 +2,20 @@
 
 // 2006.02.02 : no leaks
-bool psphotRoughClass (psArray *sources, psMetadata *recipe) {
+bool psphotRoughClass (psArray *sources, psMetadata *recipe, const bool findPsfClump) {
 
-    pmPSFClump   psfClump;
+    static pmPSFClump   psfClump;
+    static bool havePsfClump = false;
 
     psTimerStart ("psphot");
 
-    psfClump = pmSourcePSFClump (sources, recipe);
+    if (findPsfClump) {
+	psfClump = pmSourcePSFClump (sources, recipe);
+    } else if (!havePsfClump) {
+	psError(PSPHOT_ERR_PROG, false, "You must find the PSF clump before reusing it");
+    } else {
+	;
+    }
+    
+    havePsfClump = false;		// we don't know if it's valid
     if (psfClump.X < 0) {
 	psError(PSPHOT_ERR_PROG, false, "programming error calling pmSourcePSFClump");
@@ -31,4 +40,6 @@
     psLogMsg ("psphot.roughclass", PS_LOG_INFO, "rough classification: %f sec\n", psTimerMark ("psphot"));
 
+    havePsfClump = true;			// we have set psfClump
+    
     return true;
 }
