diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index 5ed48894a4ff159427985f4d7f28cd738569cbe7..c25ebcd5df75ade54f2f453d548b109386b6d3ab 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -561,7 +561,7 @@ void GetOptions(int argc, char *argv[])
 #endif
           // convert mesh to latest binary format
           if(GModel::current()->getMeshStatus() > 0){
-            CTX::instance()->mesh.mshFileVersion = 3.0;
+            CTX::instance()->mesh.mshFileVersion = 2.0;
             CTX::instance()->mesh.binary = 1;
             CreateOutputFile(fileName, FORMAT_MSH);
           }
@@ -781,6 +781,10 @@ void GetOptions(int argc, char *argv[])
             CTX::instance()->mesh.fileFormat = FORMAT_MSH;
             CTX::instance()->mesh.mshFileVersion = 2.0;
           }
+          else if(!strcmp(argv[i], "msh3")){
+            CTX::instance()->mesh.fileFormat = FORMAT_MSH;
+            CTX::instance()->mesh.mshFileVersion = 3.0;
+          }
           else{
             int format = GetFileFormatFromExtension(std::string(".") + argv[i]);
             if(format < 0){