Index: trunk/ippToPsps/src/ippToPspsBatchDetection.c
===================================================================
--- trunk/ippToPsps/src/ippToPspsBatchDetection.c	(revision 27803)
+++ trunk/ippToPsps/src/ippToPspsBatchDetection.c	(revision 27804)
@@ -23,5 +23,5 @@
 
     //    printf("mag=%f\texpTime=%f\tzeroPoint=%f\tflux=%f\n", magnitude, exposureTime, zeroPoint, flux);
-    return (isfinite(*flux) && *flux > 0.0) ? true : false;
+    return (!isfinite(*flux) || *flux < 0.000001) ? false : true;
 }
 
@@ -287,11 +287,12 @@
                     obsTimes[s] = obsTime;
 
+                    ippToPsps_getFlux(zeroPoint, exposureTime, instMagErr[s], &instFluxErr[s]);
+
                     // check for invalid flux values (if not already labelled as a duplicate)
-                    if ((!ippToPsps_getFlux(zeroPoint, exposureTime, instMagErr[s], &instFluxErr[s]) ||
-                                !ippToPsps_getFlux(zeroPoint, exposureTime, peakMag[s], &peakFlux[s]) ||
+                    if ((!ippToPsps_getFlux(zeroPoint, exposureTime, peakMag[s], &peakFlux[s]) ||
                                 !ippToPsps_getFlux(zeroPoint, exposureTime, instMag[s], &instFlux[s])) && !isDuplicate) {
                         removeList[numOfDuplicates+numInvalidFlux] = s+1;
                         numInvalidFlux++;
-                    } 
+                    }
 
                     // store max/min objID
