Index: /issm/trunk/src/c/objects/Bamg/Triangles.cpp
===================================================================
--- /issm/trunk/src/c/objects/Bamg/Triangles.cpp	(revision 5009)
+++ /issm/trunk/src/c/objects/Bamg/Triangles.cpp	(revision 5010)
@@ -4571,5 +4571,5 @@
 
 	// computation of the det 
-	int Nberr=0;
+	int number_of_errors=0;
 	for (i=0;i<nbt;i++) {
 		MeshVertex & v0 = triangles[i][0];
@@ -4579,13 +4579,16 @@
 		//If this is not a boundary triangle
 		if ( &v0 && &v1 &&  &v2 ){
+
+			/*Compute determinant*/
 			triangles[i].det= det(v0,v1,v2);
-			if (triangles[i].det <=0 && Nberr++ <10){
-				if(Nberr==1)
-				 if (strfrom){
-					 ISSMERROR("Fatal error %s (SetInCoor) : area of Triangle %i < 0",strfrom,i);
-				 }
-				 else{
-					 ISSMERROR("Fatal error (SetInCoor) : area of Triangle %i < 0",i);
-				 }
+
+			/*Check that determinant is positive*/
+			if (triangles[i].det <=0){
+
+				/*increase number_of_errors and print error only for the first 20 triangles*/
+				number_of_errors++;
+				if (number_of_errors<20){
+					printf("Area of Triangle %i < 0 (det=%i)\n",i+1,triangles[i].det);
+				}
 			}
 		}
@@ -4594,4 +4597,6 @@
 		else triangles[i].det=-1;
 	}
+
+	if (number_of_errors) ISSMERROR("Fatal error: some triangles have negative areas, see above");
 }
 /*}}}1*/
