Index: /trunk/ippToPsps/src/ippToPspsBatchDetection.c
===================================================================
--- /trunk/ippToPsps/src/ippToPspsBatchDetection.c	(revision 27777)
+++ /trunk/ippToPsps/src/ippToPspsBatchDetection.c	(revision 27778)
@@ -23,5 +23,5 @@
 
     //    printf("mag=%f\texpTime=%f\tzeroPoint=%f\tflux=%f\n", magnitude, exposureTime, zeroPoint, flux);
-    return (isnormal(*flux) && *flux > 0.0) ? true : false;
+    return (isnormal(*flux)) ? true : false;
 }
 
@@ -286,9 +286,9 @@
                     imageID[s] = pspsImageId;
                     obsTimes[s] = obsTime;
-                    ippToPsps_getFlux(zeroPoint, exposureTime, instMagErr[s], &instFluxErr[s]);
-                    ippToPsps_getFlux(zeroPoint, exposureTime, peakMag[s], &peakFlux[s]);
 
                     // check for invalid flux values (if not already labelled as a duplicate)
-                    if (!ippToPsps_getFlux(zeroPoint, exposureTime, instMag[s], &instFlux[s]) && !isDuplicate) {
+                    if ((!ippToPsps_getFlux(zeroPoint, exposureTime, instMagErr[s], &instFluxErr[s]) ||
+                                !ippToPsps_getFlux(zeroPoint, exposureTime, peakMag[s], &peakFlux[s]) ||
+                                !ippToPsps_getFlux(zeroPoint, exposureTime, instMag[s], &instFlux[s])) && !isDuplicate) {
                         removeList[numOfDuplicates+numInvalidFlux] = s+1;
                         numInvalidFlux++;
@@ -361,5 +361,5 @@
     status=0; 
     if (fits_movnam_hdu(this->fitsOut, BINARY_TBL, "FrameMeta", 0, &status))
-            psError(PS_ERR_IO, false, "Can't move back to FrameMeta extension to write number of OTAs\n");
+        psError(PS_ERR_IO, false, "Can't move back to FrameMeta extension to write number of OTAs\n");
     else 
         fits_write_col(this->fitsOut, TSHORT, FRAMEMETA_NOTA, 1, 1, 1, &nOta, &status);
