Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 28118)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 28119)
@@ -467,17 +467,23 @@
 		}
 		else if(melt_style==IntrusionMeltEnum){
-			Input* gldistance_input = basalelement->GetInput(DistanceToGroundinglineEnum);              _assert_(gldistance_input); 
-        	gldistance_input->GetInputValue(&gldistance,gauss);
-			if (intrusiondist==0)
+			Input* gldistance_input = basalelement->GetInput(DistanceToGroundinglineEnum); _assert_(gldistance_input); 
+			gldistance_input->GetInputValue(&gldistance,gauss);
+			if(intrusiondist==0){
 				if(gllevelset>0.) mb=gmb;
 				else mb=fmb;
-	        else if(gldistance>intrusiondist) 
+			}
+			else if(gldistance>intrusiondist) {
 				mb=gmb;
-			else if(gldistance<=intrusiondist && gldistance>0) 
+			}
+			else if(gldistance<=intrusiondist && gldistance>0) {
 				mb=fmb*(1-gldistance/intrusiondist); 
-			else
+			}
+			else{
 				mb=fmb;
-        }
-		else  _error_("melt interpolation "<<EnumToStringx(melt_style)<<" not implemented yet");
+			}
+		}
+		else{
+			_error_("melt interpolation "<<EnumToStringx(melt_style)<<" not implemented yet");
+		}
 
 		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(bed+dt*(mb) + dt*vz)*basis[i];
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 28118)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 28119)
@@ -712,18 +712,24 @@
 			else mb=gmb;
 		}
-        else if(melt_style==IntrusionMeltEnum){
-			Input* gldistance_input = element->GetInput(DistanceToGroundinglineEnum);              _assert_(gldistance_input); 
-        	gldistance_input->GetInputValue(&gldistance,gauss);
-			if (intrusiondist==0)
+		else if(melt_style==IntrusionMeltEnum){
+			Input* gldistance_input = element->GetInput(DistanceToGroundinglineEnum); _assert_(gldistance_input); 
+			gldistance_input->GetInputValue(&gldistance,gauss);
+			if(intrusiondist==0){
 				if(gllevelset>0.) mb=gmb;
 				else mb=fmb;
-	        else if(gldistance>intrusiondist) 
+			}
+			else if(gldistance>intrusiondist) {
 				mb=gmb;
-			else if(gldistance<=intrusiondist && gldistance>0) 
+			}
+			else if(gldistance<=intrusiondist && gldistance>0) {
 				mb=fmb*(1-gldistance/intrusiondist); 
-			else
+			}
+			else{
 				mb=fmb;
-        }
-		else  _error_("melt interpolation "<<EnumToStringx(melt_style)<<" not implemented yet");
+			}
+		}
+		else{
+			_error_("melt interpolation "<<EnumToStringx(melt_style)<<" not implemented yet");
+		}
 
 		for(int i=0;i<numnodes;i++) pe->values[i]+=Jdet*gauss->weight*(thickness+dt*(ms-mb))*basis[i];
Index: /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp	(revision 28118)
+++ /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp	(revision 28119)
@@ -17,14 +17,8 @@
 
 	/*First, get melt_interpolation model from parameters*/
-    femmodel->parameters->FindParam(&melt_style,GroundinglineMeltInterpolationEnum);
-
-	switch(melt_style){
-        case IntrusionMeltEnum:
-			if(VerboseSolution())_printf0_("          call Intrusion melting module\n");
-            DistanceToGroundingline(femmodel);
-            break;
-		default:
-            /*Nothing to be done*/
-            break;
+	femmodel->parameters->FindParam(&melt_style,GroundinglineMeltInterpolationEnum);
+	if(melt_style==IntrusionMeltEnum){
+		InputDuplicatex(femmodel,MaskOceanLevelsetEnum,DistanceToGroundinglineEnum);//FIXME Duplicate first so that it can preserve the sign
+		femmodel->DistanceToFieldValue(MaskOceanLevelsetEnum,0.,DistanceToGroundinglineEnum);
 	}
 
@@ -304,12 +298,2 @@
 	xDelete<IssmDouble>(perturbation);
 }/*}}}*/
-
-void DistanceToGroundingline(FemModel* femmodel){/*{{{*/
-
-        int         numvertices;
-        IssmDouble* distances=NULL;
-
-        InputDuplicatex(femmodel,MaskOceanLevelsetEnum,DistanceToGroundinglineEnum);
-		femmodel->DistanceToFieldValue(MaskOceanLevelsetEnum,0.,DistanceToGroundinglineEnum);
-}
-/*}}}*/
Index: /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h	(revision 28118)
+++ /issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h	(revision 28119)
@@ -18,5 +18,4 @@
 void BeckmannGoosseFloatingiceMeltingRatex(FemModel* femmodel);
 void LinearFloatingiceMeltingRatearmax(FemModel* femmodel);
-void DistanceToGroundingline(FemModel* femmodel);
 
 #endif  /* _FloatingiceMeltingRatex_H*/
