diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 69cf510d10aacf9f931c6d6deaf519d04760c980..3d2a661fe48223ec6b6cda5500c0ea6f2feaa541 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -6592,7 +6592,7 @@ yyreduce:
 	List_Read((yyvsp[(3) - (6)].l), i, &d);
 	int j = (int)d;
 	Surface *s = FindSurface(j);
-	if(s) s->TransfiniteSmoothing = (yyvsp[(5) - (6)].d);
+	if(s) s->TransfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
       }
       List_Delete((yyvsp[(3) - (6)].l));
     ;}
diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y
index 93eda8938b43eebb2e31868a7a305d92f1c73bd5..cb013f861f072c55230095834102b8790e12629c 100644
--- a/Parser/Gmsh.y
+++ b/Parser/Gmsh.y
@@ -2604,7 +2604,7 @@ Transfinite :
 	List_Read($3, i, &d);
 	int j = (int)d;
 	Surface *s = FindSurface(j);
-	if(s) s->TransfiniteSmoothing = $5;
+	if(s) s->TransfiniteSmoothing = (int)$5;
       }
       List_Delete($3);
     }