Index: /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 26460)
+++ /issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp	(revision 26461)
@@ -561,5 +561,4 @@
 		/*Intermediaries*/
 		IssmDouble  levelset,crevassedepth,bed,surface_crevasse,thickness,surface;
-		int         nflipped,local_nflipped;
 		IssmDouble* constraint_nodes = NULL;
 
@@ -573,5 +572,8 @@
       Vector<IssmDouble>* vec_constraint_nodes = vec_constraint_nodes=new Vector<IssmDouble>(localmasters,numnodes);
 
-      IssmDouble crevasse_threshold = femmodel->parameters->FindParam(CalvingCrevasseThresholdEnum);
+		IssmDouble crevasse_threshold = femmodel->parameters->FindParam(CalvingCrevasseThresholdEnum);
+		IssmDouble mig_max            = femmodel->parameters->FindParam(MigrationMaxEnum);
+		IssmDouble dt                 = femmodel->parameters->FindParam(TimesteppingTimeStepEnum);
+
 
 		for(Object* & object : femmodel->elements->objects){
@@ -611,7 +613,7 @@
       femmodel->GetLocalVectorWithClonesNodes(&constraint_nodes,vec_constraint_nodes);
 
-		nflipped=1;
+		int nflipped=1;
 		while(nflipped){
-			local_nflipped=0;
+			int local_nflipped=0;
 			for(Object* & object : femmodel->elements->objects){
 				Element* element  = xDynamicCast<Element*>(object);
@@ -630,5 +632,5 @@
 				for(int in=0;in<numnodes;in++){
 					Node* node=element->GetNode(in);
-					if(constraint_nodes[node->Lid()]==1.){
+					if(constraint_nodes[node->Lid()]>0.){
 						isconnected = true;
 						break;
@@ -648,5 +650,5 @@
 						surface_input->GetInputValue(&surface,gauss);
 
-                  if((surface_crevasse>surface || crevassedepth>crevasse_threshold*thickness) && bed<0. && levelset>-300. && levelset<0. && constraint_nodes[node->Lid()]==0.){
+                  if((surface_crevasse>surface || crevassedepth>crevasse_threshold*thickness) && bed<0. && levelset<0. && levelset>-mig_max*dt && constraint_nodes[node->Lid()]==0.){
 							local_nflipped++;
 							vec_constraint_nodes->SetValue(node->Pid(),1.0,INS_VAL);
