diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index 1faf020b00a03571c8574b02213adc81a24d52ca..b8b2c78b793a28e4aa8742777fb799b839eeb2ca 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -1157,9 +1157,15 @@ void MElement::writeDIFF(FILE *fp, int num, bool binary, int physical_property)
 void MElement::writeINP(FILE *fp, int num)
 {
   setVolumePositive();
-  fprintf(fp, "%d", num);
-  for(int i = 0; i < getNumVertices(); i++)
-    fprintf(fp, ", %d", getVertexINP(i)->getIndex());
+  fprintf(fp, "%d, ", num);
+  int n = getNumVertices();
+  for(int i = 0; i < n; i++){
+    fprintf(fp, "%d", getVertexINP(i)->getIndex());
+    if(i != n - 1){
+      fprintf(fp, ", ");
+      if(i && !((i+2) % 16)) fprintf(fp, "\n");
+    }
+  }
   fprintf(fp, "\n");
 }