Index: /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp	(revision 27923)
+++ /issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp	(revision 27924)
@@ -488,4 +488,5 @@
 	Gnorm = sqrt(Gnorm);
 	_assert_(!xIsNan(Gnorm));
+	_assert_(!xIsInf(Gnorm));
 
 	/*Print info*/
Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 27923)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 27924)
@@ -517,4 +517,10 @@
 	/*Broadcast gradient to other ranks (make sure to sum all gradients)*/
 	ISSM_MPI_Allreduce(Xb,G,Xsize,ISSM_MPI_PDOUBLE,ISSM_MPI_SUM,IssmComm::GetComm());
+	#ifdef _ISSM_DEBUG_
+	for(int i=0; i<Xsize; i++){
+		if(xIsNan(Xb[i])) _error_("Found NaN in gradient at position "<<i);
+		if(xIsInf(Xb[i])) _error_("Found Inf in gradient at position "<<i);
+	}
+	#endif
 
 	/*Cleanup and return misfit*/
