diff --git a/Applications/FileIO/Legacy/createSurface.cpp b/Applications/FileIO/Legacy/createSurface.cpp
index 0a6a3a2d3c1c10c574d7488fc0ceef8266e18369..79ffd930734743c8f402f188cef7a81ece13e918 100644
--- a/Applications/FileIO/Legacy/createSurface.cpp
+++ b/Applications/FileIO/Legacy/createSurface.cpp
@@ -32,7 +32,8 @@ namespace FileIO
 {
 bool createSurface(GeoLib::Polyline const& ply,
                    GeoLib::GEOObjects& geometries,
-                   std::string const& geometry_name)
+                   std::string const& geometry_name,
+                   std::string const& gmsh_binary)
 {
     if (!ply.isClosed())
     {
@@ -84,7 +85,7 @@ bool createSurface(GeoLib::Polyline const& ply,
     std::string const file_base_name(file_base_name_c);
     gmsh_io.writeToFile(file_base_name + ".geo");
     std::string gmsh_command =
-        "gmsh -2 -algo meshadapt \"" + file_base_name + ".geo\"";
+        gmsh_binary + " -2 -algo meshadapt \"" + file_base_name + ".geo\"";
     gmsh_command += " -o \"" + file_base_name + ".msh\"";
     int const gmsh_return_value = std::system(gmsh_command.c_str());
     if (gmsh_return_value != 0)
diff --git a/Applications/FileIO/Legacy/createSurface.h b/Applications/FileIO/Legacy/createSurface.h
index 36162aa13a4e4467b5aae887e5852a442304ec49..7acc0cb813d6c02e3a78ff291e12bec6db086865 100644
--- a/Applications/FileIO/Legacy/createSurface.h
+++ b/Applications/FileIO/Legacy/createSurface.h
@@ -26,5 +26,6 @@ namespace FileIO
 /// name \c geometry_name.
 bool createSurface(GeoLib::Polyline const& polyline,
                    GeoLib::GEOObjects& geometries,
-                   std::string const& geometry_name);
+                   std::string const& geometry_name,
+                   std::string const& gmsh_binary);
 }  // namespace FileIO