diff --git a/Common/Context.h b/Common/Context.h
index 3f5b62f6b172b1fb0ef691b093be60ab6fcbb5d4..b4791950978545a31f00502d3cec168b5efb5e28 100644
--- a/Common/Context.h
+++ b/Common/Context.h
@@ -125,8 +125,8 @@ class CTX {
   // characteristic length for the whole problem (never used in mesh
   // generation ->only for geo/post)
   double lc;
-  // double buffer/antialias graphics?
-  int db, antialiasing;
+  // double buffer/antialias/stereo graphics?
+  int db, antialiasing, stereo;
   // orthogonal projection? 
   int ortho;
   // draw the bounding boxes and the rot center?
diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index 5b0bbf0d01c565dc7fe334d8b080166eaa993d27..87228c0c7b64803dcdd7448a9139d87d493559e4 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -832,6 +832,8 @@ StringXNumber GeneralOptions_Number[] = {
   { F|S, "StatisticsPositionY" , opt_general_statistics_position1 , 150. , 
     "Vertical position (in pixels) of the upper left corner of the statistic"
     " window" }, 
+  { F|O, "Stereo" , opt_general_stereo , 0. ,
+    "Use stereo rendering" },
   { F|S, "SystemMenuBar" , opt_general_system_menu_bar , 1. , 
     "Use the system menu bar on Mac OS X?" }, 
 
diff --git a/Common/Options.cpp b/Common/Options.cpp
index 36d156561f52220403fbf0053ef8249c4e84bf68..829da1163075aab356f666be59e35f29e46738bd 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -3505,6 +3505,14 @@ double opt_general_antialiasing(OPT_ARGS_NUM)
   return CTX::instance()->antialiasing;
 }
 
+double opt_general_stereo(OPT_ARGS_NUM)
+{
+  if(action & GMSH_SET) {
+    CTX::instance()->stereo = (int)val;
+  }
+  return CTX::instance()->stereo;
+}
+
 double opt_general_alpha_blending(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET)
diff --git a/Common/Options.h b/Common/Options.h
index 0d1975287c61d56c620aca17721f2352de810b63..157f3de6e456969793a6327c0a8f758577f356b0 100644
--- a/Common/Options.h
+++ b/Common/Options.h
@@ -339,6 +339,7 @@ double opt_general_small_axes_size(OPT_ARGS_NUM);
 double opt_general_quadric_subdivisions(OPT_ARGS_NUM);
 double opt_general_double_buffer(OPT_ARGS_NUM);
 double opt_general_antialiasing(OPT_ARGS_NUM);
+double opt_general_stereo(OPT_ARGS_NUM);
 double opt_general_alpha_blending(OPT_ARGS_NUM);
 double opt_general_vector_type(OPT_ARGS_NUM);
 double opt_general_arrow_head_radius(OPT_ARGS_NUM);