Index: trunk/psModules/src/astrom/pmAstrometryUtils.c
===================================================================
--- trunk/psModules/src/astrom/pmAstrometryUtils.c	(revision 15895)
+++ trunk/psModules/src/astrom/pmAstrometryUtils.c	(revision 19507)
@@ -7,6 +7,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-12-22 17:52:21 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-09-12 01:05:24 $
  *
  *  Copyright 2006 Institute for Astronomy, University of Hawaii
@@ -60,9 +60,13 @@
             Beta->data.F32[1] = psPolynomial2DEval (trans->y, Xo, Yo);
 
-            psMatrixGJSolveF32 (Alpha, Beta);
+            if (!psMatrixGJSolveF32 (Alpha, Beta)) {
+		psError(PS_ERR_UNKNOWN, false, "Unable to solve for center.");
+		return NULL;
+	    }
 
             Xo -= Beta->data.F32[0];
             Yo -= Beta->data.F32[1];
             dPos = hypot(Beta->data.F32[0], Beta->data.F32[1]);
+
         }
         psFree (Alpha);
@@ -72,4 +76,9 @@
         psFree (YdX);
         psFree (YdY);
+
+	if (dPos > tol) {
+	    psError(PS_ERR_UNKNOWN, false, "Newton-Raphson method did not converge after 20 iterations (%f)\n", dPos);
+	    return NULL;
+	}
     }
     psPlane *center = psPlaneAlloc ();
