Index: trunk/psModules/src/objects/models/pmModel_GAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_GAUSS.c	(revision 13567)
+++ trunk/psModules/src/objects/models/pmModel_GAUSS.c	(revision 13803)
@@ -104,4 +104,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
+	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+		     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -135,4 +137,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+		     nParam, params[nParam], params_min);
             return false;
         }
@@ -166,4 +170,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+		     nParam, params[nParam], params_max);
             return false;
         }
@@ -285,6 +291,13 @@
         if (psf->params_NEW->data[i] == NULL)
             continue;
-        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
-        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+
+	bool status = true;
+        status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
+        status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+	if (!status) {
+	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+	}
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_PGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_PGAUSS.c	(revision 13567)
+++ trunk/psModules/src/objects/models/pmModel_PGAUSS.c	(revision 13803)
@@ -106,4 +106,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
+	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+		     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -137,4 +139,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+		     nParam, params[nParam], params_min);
             return false;
         }
@@ -168,4 +172,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+		     nParam, params[nParam], params_max);
             return false;
         }
@@ -305,6 +311,13 @@
         if (psf->params_NEW->data[i] == NULL)
             continue;
-        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
-        PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+
+	bool status = true;
+        status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
+        status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+	if (!status) {
+	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+	}
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_QGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_QGAUSS.c	(revision 13567)
+++ trunk/psModules/src/objects/models/pmModel_QGAUSS.c	(revision 13803)
@@ -127,6 +127,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psError(PM_ERR_PSF, true, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		    nParam, beta[nParam], beta_lim);
+	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+		     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -163,6 +163,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psError(PM_ERR_PSF, true, "params[nParam==%d] < params_min; %g v. %g",
-		    nParam, params[nParam], params_min);
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+		     nParam, params[nParam], params_min);
             return false;
         }
@@ -199,6 +199,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psError(PM_ERR_PSF, true, "params[nParam==%d] > params_max; %g v. %g",
-		    nParam, params[nParam], params_max);
+	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+		     nParam, params[nParam], params_max);
             return false;
         }
@@ -372,13 +372,15 @@
             continue;
 
-        if (!PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL) ||
-	    !PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL)) {
-	    psError(PM_ERR_PSF, false, "Setting limits at (r,c) = (%.1f, %.1f)",
-		    in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    return false;
+	bool status = true;
+        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL);
+	status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+	if (!status) {
+	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
 	}
     }
 
-    return(true);
+    return true;
 }
 
