Index: trunk/psphot/src/psphotSourceSize.c
===================================================================
--- trunk/psphot/src/psphotSourceSize.c	(revision 20831)
+++ trunk/psphot/src/psphotSourceSize.c	(revision 20865)
@@ -34,4 +34,10 @@
         psError(PS_ERR_BAD_PARAMETER_VALUE, true, "PSPHOT.CR.GROW is not positive.");
         return false;
+    }
+
+    float soft = psMetadataLookupF32(&status, recipe, "PSPHOT.CR.NSIGMA.SOFTEN"); // Softening parameter
+    if (!status || !isfinite(soft) || soft < 0.0) {
+        psWarning("PSPHOT.CR.NSIGMA.SOFTEN not set; defaulting to zero.");
+        soft = 0.0;
     }
 
@@ -113,4 +119,11 @@
         float dcR = 4*weight[yPeak][xPeak] + weight[yPeak+1][xPeak-1] + weight[yPeak-1][xPeak+1];
         float nR = cR / sqrtf(dcR);
+
+        // Soften weights (add systematic error)
+        float softening = 6 * soft * source->peak->flux; // Softening for weights
+        dCX += softening;
+        dCY += softening;
+        dCL += softening;
+        dCR += softening;
 
         // P(chisq > chisq_obs; Ndof) = gamma_Q (Ndof/2, chisq/2)
