diff --git a/utils/misc/callgmsh.c b/utils/misc/callgmsh.c
index 85abfe8bdc65db2391c47dff641f51b521076a28..78ae3ac52ddc1c78576c838992c95332c50e531e 100644
--- a/utils/misc/callgmsh.c
+++ b/utils/misc/callgmsh.c
@@ -16,6 +16,8 @@ int main(void)
 
     fp = fopen("/tmp/gmsh.pid", "r");
     fscanf(fp, "%d", &pid);
+    fclose(fp);
+
     sprintf(str, "kill %d", pid);
     system(str);
   }