Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15522)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15523)
@@ -1002,12 +1002,12 @@
 	}
 	else if(levelset[0]==0 && levelset[2]==0){ //front is on point 0 and 1
-		xyz_zero[3*0+0]=xyz_list[0][0];
-		xyz_zero[3*0+1]=xyz_list[0][1];
-		xyz_zero[3*0+2]=xyz_list[0][2];
+		xyz_zero[3*0+0]=xyz_list[2][0];
+		xyz_zero[3*0+1]=xyz_list[2][1];
+		xyz_zero[3*0+2]=xyz_list[2][2];
 
 		/*New point 2*/
-		xyz_zero[3*1+0]=xyz_list[2][0];
-		xyz_zero[3*1+1]=xyz_list[2][1];
-		xyz_zero[3*1+2]=xyz_list[2][2];
+		xyz_zero[3*1+0]=xyz_list[0][0];
+		xyz_zero[3*1+1]=xyz_list[0][1];
+		xyz_zero[3*1+2]=xyz_list[0][2];
 	}
 	else if(levelset[1]==0 && levelset[2]==0){ //front is on point 0 and 1
@@ -3165,5 +3165,4 @@
 	}
 
-	return NULL;
 	/*If no front, return NULL*/
 	if(!isfront) return NULL;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 15522)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 15523)
@@ -64,17 +64,10 @@
 		if(!iomodel->my_elements[element]) continue;
 
-		/*Do not create ice front if Hutter or Stokes elements*/
+		/*Do not create ice front if Hutter or MacAyeal elements*/
 		if (reCast<int,IssmDouble>(*(elements_type+element))==HutterApproximationEnum) continue;
+		if (reCast<int,IssmDouble>(*(elements_type+element))==MacAyealApproximationEnum) continue;
 
 		/*Create and  add load: */
-		if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && iomodel->dim==2){
-			loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal2dIceFrontEnum,DiagnosticHorizAnalysisEnum));
-			count++;
-		}
-		else if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && iomodel->dim==3){
-			loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal3dIceFrontEnum,DiagnosticHorizAnalysisEnum));
-			count++;
-		}
-		else if (reCast<int,IssmDouble>(*(elements_type+element))==(L1L2ApproximationEnum)){
+		if (reCast<int,IssmDouble>(*(elements_type+element))==(L1L2ApproximationEnum)){
 			loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal3dIceFrontEnum,DiagnosticHorizAnalysisEnum));
 			count++;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 15522)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 15523)
@@ -56,4 +56,5 @@
 	iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
 	iomodel->FetchDataToInput(elements,MaskElementonwaterEnum);
+	iomodel->FetchDataToInput(elements,IcelevelsetEnum);
 	iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);
 	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
