diff --git a/Common/Options.cpp b/Common/Options.cpp
index 42c969b9a501830edd2d3596ea07655474613881..2f22ee4e805a1130ccb953cec9d919b79dd59389 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -5144,7 +5144,15 @@ double opt_mesh_hom_no_metric(OPT_ARGS_NUM)
 double opt_mesh_cgns_import_order(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET) {
-    CTX::instance()->mesh.cgnsImportOrder = (int)val;
+    int value = (int)val; 
+    double order = val;
+    while(order >= 2.0) {
+      order = order / 2.0;
+    }
+    
+    if (order != 1.0)
+      value = 1;
+    CTX::instance()->mesh.cgnsImportOrder = value;
   }
   return CTX::instance()->mesh.cgnsImportOrder;
 }