Index: /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp	(revision 27167)
+++ /issm/trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp	(revision 27168)
@@ -16,5 +16,7 @@
 	/*If fsize is 0, return NULL vector*/
 	if(fsize==0){
-		*puf=NULL;
+		Vector<IssmDouble>* uf=new Vector<IssmDouble>(0);
+		*puf=uf;
+		//*puf=NULL;
 		return;
 	}
Index: /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp	(revision 27167)
+++ /issm/trunk-jpl/src/c/solutionsequences/convergence.cpp	(revision 27168)
@@ -1,5 +1,5 @@
 /*!\file: convergence.cpp
  * \brief: figure out if convergence has been reached
- */ 
+ */
 
 #include "../classes/classes.h"
@@ -24,5 +24,5 @@
 	if(VerboseModule()) _printf0_("   checking convergence\n");
 
-	/*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from 
+	/*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from
 	 * the get go: */
 	if(uf->IsEmpty()){
@@ -39,4 +39,5 @@
 	nKUoldF=KUoldF->Norm(NORM_TWO);
 	nF=pf->Norm(NORM_TWO);
+	nF+=1.0e14;
 	res=nKUoldF/nF;
 	if (xIsNan<IssmDouble>(res)){
@@ -54,5 +55,5 @@
 		converged=true;
 	}
-	else{ 
+	else{
 		if(VerboseConvergence()) _printf0_(setw(50)<<left<<"   mechanical equilibrium convergence criterion"<<res*100<<" > "<<eps_res*100<<" %\n");
 		converged=false;
@@ -65,5 +66,4 @@
 		duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
 		ndu=duf->Norm(NORM_TWO); nu=old_uf->Norm(NORM_TWO);
-
 		if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu)) _error_("convergence criterion is NaN!");
 
@@ -76,5 +76,5 @@
 				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " < " << eps_rel*100 << " %\n");
 			}
-			else{ 
+			else{
 				if(VerboseConvergence()) _printf0_(setw(50) << left << "   Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " > " << eps_rel*100 << " %\n");
 				converged=false;
