diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 60e90fce839d4e4897e4c706b24f72a6066cfd4d..ccfbb9aea67de82fdb439a00c16dcbc3b8ed4376 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -652,6 +652,8 @@ StringXNumber GeneralOptions_Number[] = {
     "Horizontal position (in pixels) of the (detached) menu tree" },
   { F|S, "MenuPositionY" , opt_general_menu_position1 , 400. ,
     "Vertical position (in pixels) of the (detached) menu tree" },
+  { F|O, "MeshDiscrete" , opt_general_meshdiscrete , 0. ,
+    "Mesh discrete surfaces through automatic parametrization (MUMPS required for efficiency) (0)" },
   { F|O, "MessageFontSize" , opt_general_message_fontsize , -1. ,
     "Size of the font in the message window (-1=automatic)" },
   { F|S, "MessageHeight" , opt_general_message_size , 300. ,
diff --git a/Common/Options.cpp b/Common/Options.cpp
index d6593ca86dce5dda9617a747951d7290de78b606..9c436473dcad9f8f821a3dc92fc85f5422e61748 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -2255,6 +2255,14 @@ double opt_general_system_menu_bar(OPT_ARGS_NUM)
   return CTX::instance()->systemMenuBar;
 }
 
+double opt_general_meshdiscrete(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET){
+    CTX::instance()->meshDiscrete = (int)val;
+  }
+  return CTX::instance()->meshDiscrete;
+}
+
 double opt_general_message_size(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET){
diff --git a/Common/Options.h b/Common/Options.h
index 7fedde7665d30e3bfc59b4345bb40b8f82ea081a..3d4cbd13d4547ab6c1266fd2904d8ffdd4db6e79 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -156,6 +156,7 @@ double opt_general_polygon_offset_always(OPT_ARGS_NUM);
 double opt_general_polygon_offset_factor(OPT_ARGS_NUM);
 double opt_general_polygon_offset_units(OPT_ARGS_NUM);
 double opt_general_system_menu_bar(OPT_ARGS_NUM);
+double opt_general_meshdiscrete(OPT_ARGS_NUM);
 double opt_general_message_size(OPT_ARGS_NUM);
 double opt_general_message_fontsize(OPT_ARGS_NUM);
 double opt_general_detached_menu(OPT_ARGS_NUM);
diff --git a/benchmarks/2d/hybrid_discrete.geo b/benchmarks/2d/hybrid_discrete.geo
index 80b3123f4c1fca7506ab6791e1e70f03b802bea2..6ea310743192df5fc3e8e6e0d61192e28aa697f1 100644
--- a/benchmarks/2d/hybrid_discrete.geo
+++ b/benchmarks/2d/hybrid_discrete.geo
@@ -5,9 +5,11 @@ lc = 1e-2;
 Point(1) = {0, 0, 0, lc};
 Point(4) = {0,  .3, 0, lc} ;
 
-Line(1) = {1,11} ;
+//Line(1) = {1,11} ;
 Line(3) = {14,4} ;
 Line(4) = {4,1} ;
 
-Line Loop(5) = {-4,-1,-14,-3} ;
-Plane Surface(6) = {5} ;
+//Line Loop(5) = {-4,-1,-14,-3} ;
+//Plane Surface(6) = {5} ;
+//+
+//Line(17) = {4, 14};