diff --git a/Geo/scriptStringInterface.cpp b/Geo/scriptStringInterface.cpp
index aa1b4319ea666b20bfa4cfe26d77d23f16ffe204..37708c0e0eeae8b6a9033da05c3c7fdf17a46b26 100644
--- a/Geo/scriptStringInterface.cpp
+++ b/Geo/scriptStringInterface.cpp
@@ -445,7 +445,11 @@ void scriptAddPoint(const std::string &fileName, const std::string &x,
       sstream << "};";
     }
     else {
-      // TODO
+      std::string addPointStr = "gmsh/model/" + currentFactory + "/addPoint";
+      std::ostringstream args;
+      args << x << ", " << y << ", " << z;
+      if(lc.size()) args << ", " << lc;
+      sstream << api(addPointStr, args.str(), lang);
     }
     scriptAddCommand(sstream.str(), fileName, lang);
   }