Index: trunk/psLib/src/math/psSparse.c
===================================================================
--- trunk/psLib/src/math/psSparse.c	(revision 13991)
+++ trunk/psLib/src/math/psSparse.c	(revision 19501)
@@ -450,5 +450,13 @@
         // square is modified by GJSolve, so re-copy each time
         square = psImageCopy (square, border->Tjj, PS_TYPE_F64);
-        psMatrixGJSolve (square, Go);
+        if (!psMatrixGJSolve (square, Go)) {
+	    psError(PS_ERR_UNKNOWN, false, "Unable to solve for lower square.");
+	    psFree (dG);
+	    psFree (Go);
+	    psFree (dF);
+	    psFree (Fo);
+	    psFree (square);
+	    return false;
+	}
         yVec = psVectorCopy (yVec, Go, PS_TYPE_F32);
 
