Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15524)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 15525)
@@ -3165,4 +3165,5 @@
 	}
 
+	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 15524)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 15525)
@@ -64,10 +64,17 @@
 		if(!iomodel->my_elements[element]) continue;
 
-		/*Do not create ice front if Hutter or MacAyeal elements*/
+		/*Do not create ice front if Hutter or Stokes 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))==(L1L2ApproximationEnum)){
+		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)){
 			loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal3dIceFrontEnum,DiagnosticHorizAnalysisEnum));
 			count++;
