diff --git a/Geo/GModel.h b/Geo/GModel.h
index 9befada9bf4b939ebb802b0524783113464458bf..731251c21403419121b2103b64a3caf59d17a0a7 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -565,6 +565,8 @@ class GModel
   // Abaqus
   int writeINP(const std::string &name, bool saveAll=false, 
                double scalingFactor=1.0);
+  
+  int readLUA(const std::string &name);
 
   void save(std::string fileName);
   void load(std::string fileName);
diff --git a/Geo/GModelIO_Mesh.cpp b/Geo/GModelIO_Mesh.cpp
index 719319e92b89e248066cd0b3c9da500d022fb195..b2367004cf5a4d2ee0ff09c406f167eaae875895 100644
--- a/Geo/GModelIO_Mesh.cpp
+++ b/Geo/GModelIO_Mesh.cpp
@@ -31,6 +31,7 @@
 #include "MVertexPositionSet.h"
 #include "Context.h"
 #include "OS.h"
+#include "bindings.h"
 
 #if defined(HAVE_POST)
 #include "PView.h"
@@ -3212,7 +3213,11 @@ int GModel::readDIFF(const std::string &name)
   fclose(fp);
   return 1;
 }
-
+int GModel::readLUA(const std::string &name)
+{
+	int status = binding::instance()->readFile(name.c_str());
+	return status;
+}
 int GModel::writeDIFF(const std::string &name, bool binary, bool saveAll,
                       double scalingFactor)
 {