Index: trunk/psphot/src/psphotExtendedSourceFits.c
===================================================================
--- trunk/psphot/src/psphotExtendedSourceFits.c	(revision 37879)
+++ trunk/psphot/src/psphotExtendedSourceFits.c	(revision 37881)
@@ -534,4 +534,12 @@
               Nconvolve ++;
               if (!(modelFit->flags & badModel)) {
+                  float *PAR = modelFit->params->data.F32;
+                  psEllipseAxes axes = pmPSF_ModelToAxes (PAR, modelFit->class->useReff);
+                  if (axes.major >= 100) {
+                      Nfail ++;
+                      source->mode2 |= PM_SOURCE_MODE2_EXT_FITS_FAIL;
+                      psFree(modelFit);
+                      continue;
+                  }
                   NconvolvePass ++;
 		  source->mode |= PM_SOURCE_MODE_EXTENDED_FIT;
Index: trunk/psphot/src/psphotGalaxyParams.c
===================================================================
--- trunk/psphot/src/psphotGalaxyParams.c	(revision 37879)
+++ trunk/psphot/src/psphotGalaxyParams.c	(revision 37881)
@@ -152,5 +152,5 @@
 
 // set this to 0 to run without threading
-# if (0)	    
+# if (1)	    
             if (!psThreadJobAddPending(job)) {
                 psError(PS_ERR_UNKNOWN, false, "Unable to guess model.");
@@ -270,4 +270,6 @@
     badModel |= PM_MODEL_PCM_FAIL_GUESS;
 
+    badModel |= PM_MODEL_STATUS_LIMITS;
+
     pmModelType sersicModelType = pmModelClassGetType("PS_MODEL_SERSIC");
 
@@ -334,4 +336,16 @@
         if (!sersicModel) SKIP (Nskip8);
         if (sersicModel->flags & badModel) SKIP (Nskip8);
+
+        // check out the model params and skip those that are too large
+        psF32 *PAR = sersicModel->params->data.F32;
+        psF32 Xo = PAR[PM_PAR_XPOS];
+        psF32 Yo = PAR[PM_PAR_YPOS];
+        psF32 Io = PAR[PM_PAR_I0];
+        //
+        // The half light radius to the major axis of the model
+        psEllipseAxes axes = pmPSF_ModelToAxes (PAR, sersicModel->class->useReff);
+        if (axes.major >= 100) SKIP (Nskip8);
+
+        source->extpars->ghalfLightRadius = axes.major;
 	Next ++;
 
@@ -353,16 +367,7 @@
             // do we need this?
             source->mode |= PM_SOURCE_MODE_NONLINEAR_FIT;
-#ifdef notdef
-#endif
-        }
-
-
-        psF32 *PAR = sersicModel->params->data.F32;
-        psF32 Xo = PAR[PM_PAR_XPOS];
-        psF32 Yo = PAR[PM_PAR_YPOS];
-        psF32 Io = PAR[PM_PAR_I0];
-        // For now: set the half light radius to the major axis of the model
-        psEllipseAxes axes = pmPSF_ModelToAxes (PAR, sersicModel->class->useReff);
-        source->extpars->ghalfLightRadius = axes.major;
+        }
+
+
         // and we will integrate out to 2 * half light radius
         psF32 R = 2 * axes.major;
