Index: /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp	(revision 24033)
+++ /issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp	(revision 24034)
@@ -17,5 +17,5 @@
 
 	/*retrieve vertex info*/
-	int nbv_global = femmodel->vertices->NumberOfVerticesLocalAll();
+	int nbv_global = femmodel->vertices->NumberOfVertices();
 	int nbv_local  = femmodel->vertices->NumberOfVerticesLocal();
 	if(nbv_global==0)  return;
@@ -59,10 +59,12 @@
 
 		/*Local iterations on partition*/
-		int  keepgoing = 1;
+		bool keepgoing = true;
+		int  didsomething = 0;
 		int  iter      = 1;
 		while(keepgoing){
-			_printf0_("   -- Kill icebergs: iteration "<<iter);
+			_printf0_("   -- Kill icebergs: iteration "<<iter<<"\n");
 
-			keepgoing = 0;
+			keepgoing    = false;
+			didsomething = 0;
 			for(int i=0;i<femmodel->elements->Size();i++){
 				Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
@@ -84,4 +86,5 @@
 								local_mask[lidlist[j]]=1.;
 								keepgoing = true;
+								didsomething = 1;
 							}
 						}
@@ -93,7 +96,8 @@
 
 		/*Check how many iterations all cpus did*/
-		int iter_max;
-		ISSM_MPI_Reduce(&iter,&iter_max,1,ISSM_MPI_INT,ISSM_MPI_MAX,0,IssmComm::GetComm());
-		if(iter_max==2){
+		int didsomething_max;
+		ISSM_MPI_Reduce(&didsomething,&didsomething_max,1,ISSM_MPI_INT,ISSM_MPI_MAX,0,IssmComm::GetComm());
+		ISSM_MPI_Bcast(&didsomething_max,1,ISSM_MPI_INT,0,IssmComm::GetComm());
+		if(didsomething_max==0){
 			keepsyncing = false;
 		}
@@ -134,5 +138,9 @@
 
 			if(deactivate){
-				_error_("Don't know what to do....");
+				int  numvertices = element->GetNumberOfVertices();
+				IssmDouble* values = xNew<IssmDouble>(numvertices);
+				for(int j=0;j<numvertices;j++) values[j] = 1.; /*Anything >0 = no ice*/
+				element->AddInput(MaskIceLevelsetEnum,values,P1Enum);
+				xDelete<IssmDouble>(values);
 			}
 		}
