Index: /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinear.c
===================================================================
--- /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinear.c	(revision 29454)
+++ /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinear.c	(revision 29455)
@@ -104,5 +104,5 @@
     float MIN_VALID_FLUX = psMetadataLookupF32(&status, recipe, "PSF_FIT_MIN_VALID_FLUX");
     if (!status) {
-        MIN_VALID_FLUX = 1e-8;
+        MIN_VALID_FLUX = 0.0;
     }
     float MAX_VALID_FLUX = psMetadataLookupF32(&status, recipe, "PSF_FIT_MAX_VALID_FLUX");
Index: /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinearStack.c
===================================================================
--- /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinearStack.c	(revision 29454)
+++ /branches/eam_branches/ipp-20100823/psphot/src/psphotFitSourcesLinearStack.c	(revision 29455)
@@ -35,4 +35,13 @@
     bool CONSTANT_PHOTOMETRIC_WEIGHTS = psMetadataLookupBool(&status, recipe, "CONSTANT_PHOTOMETRIC_WEIGHTS");
     psAssert (status, "You must provide a value for the BOOL recipe CONSTANT_PHOTOMETRIC_WEIGHTS");
+
+    float MIN_VALID_FLUX = psMetadataLookupF32(&status, recipe, "PSF_FIT_MIN_VALID_FLUX");
+    if (!status) {
+        MIN_VALID_FLUX = 0.0;
+    }
+    float MAX_VALID_FLUX = psMetadataLookupF32(&status, recipe, "PSF_FIT_MAX_VALID_FLUX");
+    if (!status) {
+        MAX_VALID_FLUX = 1e+8;
+    }
 
     // XXX store a local static array of covar factors for each of the images (by image ID)
@@ -123,7 +132,7 @@
 
     psSparseConstraint constraint;
-    constraint.paramMin   = 0.0;
-    constraint.paramMax   = 1e8;
-    constraint.paramDelta = 1e8;
+    constraint.paramMin   = MIN_VALID_FLUX;
+    constraint.paramMax   = MAX_VALID_FLUX;
+    constraint.paramDelta = 1e7;
 
     // solve for normalization terms (need include local sky?)
