Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 18648)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 18649)
@@ -53,4 +53,8 @@
 				warning('no ice front provided');
 			end
+			icefront=sum(md.mask.ice_levelset(md.mesh.elements)==0,2);
+			if (max(icefront)==3 & strcmp(elementtype(md.mesh),'Tria')) | (max(icefront==6) & strcmp(elementtype(md.mesh),'Penta')),
+				error('At least one element has all nodes on ice front, change md.mask.ice_levelset to fix it')
+			end
 		end % }}}
 		function disp(obj) % {{{
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 18648)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 18649)
@@ -38,4 +38,8 @@
 			raise TypeError("no ice present in the domain")
 
+		icefront=numpy.sum(md.mask.ice_levelset[md.mesh.elements]==0,2)
+		if (max(icefront)==3 and m.strcmp(md.mesh.elementtype(),'Tria')) or (max(icefront==6) and m.strcmp(md.mesh.elementtype(),'Penta')):
+			raise TypeError("At least one element has all nodes on ice front, change md.mask.ice_levelset to fix it")
+
 		return md
 	# }}}
