diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57a0ac7301b534370ceaa43d07df15d262adf6aa..e82280e2b2a20277e401252b7362fcabed884eeb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,7 +38,7 @@ option(ENABLE_MPI "Enable MPI parallelization" OFF)
 option(ENABLE_MSVC_STATIC_RUNTIME "Use static Visual C++ runtime" OFF)
 option(ENABLE_NATIVE_FILE_CHOOSER "Enable native file chooser in GUI" ON)
 option(ENABLE_NETGEN "Enable Netgen mesh generator" ON)
-option(ENABLE_OCC "Enable OpenCASCADE geometrical models" ON)
+option(ENABLE_OCC "Enable Open CASCADE geometrical models" ON)
 option(ENABLE_OSMESA "Use OSMesa for offscreen rendering" OFF)
 option(ENABLE_PARSER "Build the GEO file parser" ON)
 option(ENABLE_PETSC "Enable PETSc linear algebra solvers" ON)
diff --git a/Fltk/optionWindow.cpp b/Fltk/optionWindow.cpp
index b7fa707bb3e540cec304a943b5681442eef598c6..cc83f420fc51957b8447a78ac65215ec7abab06c 100644
--- a/Fltk/optionWindow.cpp
+++ b/Fltk/optionWindow.cpp
@@ -1690,26 +1690,36 @@ optionWindow::optionWindow(int deltaFontSize)
       geo.butt[8]->type(FL_TOGGLE_BUTTON);
       geo.butt[8]->callback(geometry_options_ok_cb);
 
+      Fl_Box* b = new Fl_Box(L + 2 * WB, 2 * WB + 3 * BH, BW, 2);
+      b->box(FL_ENGRAVED_FRAME);
+      b->labeltype(FL_NO_LABEL);
+
+      Fl_Box *b2 = new Fl_Box
+        (FL_NO_BOX, L + 2 * WB, 2 * WB + 3 * BH + 1, IW, BH, "Open CASCADE model healing options:");
+      b2->align(FL_ALIGN_INSIDE|FL_ALIGN_LEFT);
+
       geo.butt[11] = new Fl_Check_Button
-        (L + 2 * WB, 2 * WB + 3 * BH, BW, BH, "Remove small edges in OpenCascade models");
+        (L + 2 * WB, 2 * WB + 4 * BH, BW, BH, "Remove small edges");
       geo.butt[11]->type(FL_TOGGLE_BUTTON);
       geo.butt[11]->callback(geometry_options_ok_cb);
 
       geo.butt[12] = new Fl_Check_Button
-        (L + 2 * WB, 2 * WB + 4 * BH, BW, BH, "Remove small faces in OpenCascade models");
+        (L + 2 * WB, 2 * WB + 5 * BH, BW, BH, "Remove small faces (experimental)");
       geo.butt[12]->type(FL_TOGGLE_BUTTON);
       geo.butt[12]->callback(geometry_options_ok_cb);
 
       geo.butt[13] = new Fl_Check_Button
-        (L + 2 * WB, 2 * WB + 5 * BH, BW, BH, "Sew faces in OpenCascade models");
+        (L + 2 * WB, 2 * WB + 6 * BH, BW, BH, "Sew faces (experimental)");
       geo.butt[13]->type(FL_TOGGLE_BUTTON);
       geo.butt[13]->callback(geometry_options_ok_cb);
+
       geo.butt[15] = new Fl_Check_Button
-        (L + 2 * WB, 2 * WB + 6 * BH, BW, BH, "Cut and merge faces in OpenCascade models");
+        (L + 2 * WB, 2 * WB + 7 * BH, BW, BH, "Cut and merge faces (experimental)");
       geo.butt[15]->type(FL_TOGGLE_BUTTON);
       geo.butt[15]->callback(geometry_options_ok_cb);
 
 #if !defined(HAVE_OCC)
+      b2->deactivate();
       geo.butt[11]->deactivate();
       geo.butt[12]->deactivate();
       geo.butt[13]->deactivate();
diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index b3702217d0e7eb7151e6b0c1efc96e8dc38856c7..e38bbf686ab6bac9b12bcc18eda12ae403a31290 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -986,42 +986,42 @@ void GModel::_deleteOCCInternals()
 
 int GModel::readOCCBREP(const std::string &fn)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to load '%s'",
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to load '%s'",
              fn.c_str());
   return 0;
 }
 
 int GModel::readOCCSTEP(const std::string &fn)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to load '%s'",
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to load '%s'",
              fn.c_str());
   return 0;
 }
 
 int GModel::readOCCIGES(const std::string &fn)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to load '%s'",
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to load '%s'",
              fn.c_str());
   return 0;
 }
 
 int GModel::writeOCCBREP(const std::string &fn)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to write '%s'",
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to write '%s'",
              fn.c_str());
   return 0;
 }
 
 int GModel::writeOCCSTEP(const std::string &fn)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to write '%s'",
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to write '%s'",
              fn.c_str());
   return 0;
 }
 
 int GModel::importOCCShape(const void *shape)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to import "
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to import "
              "a TopoDS_Shape");
   return 0;
 }
@@ -1029,7 +1029,7 @@ int GModel::importOCCShape(const void *shape)
 void GModel::addShape(std::string name, std::vector<double> &p, 
                       std::string op)
 {
-  Msg::Error("Gmsh must be compiled with OpenCascade support to apply "
+  Msg::Error("Gmsh must be compiled with Open CASCADE support to apply "
              "Boolean Operators On Solids");
 }
 
diff --git a/doc/CREDITS.txt b/doc/CREDITS.txt
index 41e38527f02625d1bee95a00e478caf2d4f16fc9..d6fcb153acfd4954451f5aaa35082153e947b771 100644
--- a/doc/CREDITS.txt
+++ b/doc/CREDITS.txt
@@ -14,13 +14,14 @@ Gaetan Bricteux (Gauss integration and levelsets), Jacques Lechelle
 (DIFFPACK mesh format), Jonathan Lambrechts (fields), Jozef Vesely
 (Tetgen), Koen Hillewaert (high order elements), Laurent Stainier
 (eigenvalue solvers, tensor display and MacOS bits), Marc Ume
-(original list code), Mark van Doesburg (OpenCascade face connection),
-Matt Gundry (Plot3d mesh format), Matti Pellikka (Homology), Nicolas
-Tardieu (Netgen), Pascale Noyret (MED mesh format), Pierre Badel (root
-finding and minimization), Ruth Sabariego (pyramids), Stephen Guzik
-(CGNS and partitioners), Bastien Gorissen (parallel remote). See
-comments in the sources for more information. If we forgot to list
-your contributions please send us an email!
+(original list code), Mark van Doesburg (Open CASCADE face
+connection), Matt Gundry (Plot3d mesh format), Matti Pellikka
+(Homology), Nicolas Tardieu (Netgen), Pascale Noyret (MED mesh
+format), Pierre Badel (root finding and minimization), Ruth Sabariego
+(pyramids), Stephen Guzik (CGNS and partitioners), Bastien Gorissen
+(parallel remote). See comments in the sources for more
+information. If we forgot to list your contributions please send us an
+email!
 
 The AVL tree code (Common/avl.*) and the YUV image code
 (Graphics/gl2yuv.*) are copyright (C) 1988-1993, 1995 The Regents of
@@ -103,7 +104,7 @@ Ercolano and others for the Fast Light Tool Kit on which Gmsh's GUI is
 based. See http://www.fltk.org for more info on this excellent
 object-oriented, cross-platform toolkit.
 
-Special thanks also to EDF for funding the OpenCascade and MED
+Special thanks also to EDF for funding the Open CASCADE and MED
 integration.
 
 Thanks to the following folks who have contributed by providing fresh
diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt
index 973ebe1a63627d3bd34ebd5eae87b4557a059e07..3f8bcc48d521696f315370494c861514ae16834f 100644
--- a/doc/VERSIONS.txt
+++ b/doc/VERSIONS.txt
@@ -96,18 +96,18 @@ at the end of the list returned by extrusion commands; fixed various
 bugs.
 
 2.0 (Feb 5, 2007): new geometry and mesh databases, with support for
-STEP and IGES import via OpenCascade; complete rewrite of geometry and
-mesh drawing code; complete rewrite of mesh I/O layer (with new native
-binary MSH format and support for import/export of I-deas UNV, Nastran
-BDF, STL, Medit MESH and VRML 1.0 files); added support for incomplete
-second order elements; new 2D and 3D meshing algorithms; improved
-integration of Netgen and TetGen algorithms; removed anisotropic
-meshing algorithm (as well as attractors); removed explicit region
-number specification in extrusions; option changes in the graphical
-interface are now applied instantaneously; added support for offscreen
-rendering using OSMesa; added support for SVG output; added string
-labels for Physical entities; lots of other improvements all over the
-place.
+STEP and IGES import via Open CASCADE; complete rewrite of geometry
+and mesh drawing code; complete rewrite of mesh I/O layer (with new
+native binary MSH format and support for import/export of I-deas UNV,
+Nastran BDF, STL, Medit MESH and VRML 1.0 files); added support for
+incomplete second order elements; new 2D and 3D meshing algorithms;
+improved integration of Netgen and TetGen algorithms; removed
+anisotropic meshing algorithm (as well as attractors); removed
+explicit region number specification in extrusions; option changes in
+the graphical interface are now applied instantaneously; added support
+for offscreen rendering using OSMesa; added support for SVG output;
+added string labels for Physical entities; lots of other improvements
+all over the place.
 
 1.65 (May 15, 2006): new Plugin(ExtractEdges); fixed compilation
 errors with gcc4.1; replaced Plugin(DisplacementRaise) and
diff --git a/utils/api_demos/mainOcc.cpp b/utils/api_demos/mainOcc.cpp
index bb3f1524d6d759cac31bddd66ae0dba65a0ff52f..0f3459305a09b3b1c703e482e36128b12a40fa40 100644
--- a/utils/api_demos/mainOcc.cpp
+++ b/utils/api_demos/mainOcc.cpp
@@ -1,8 +1,8 @@
-// This demonstrates how to import an OpenCascade model WITHOUT using
+// This demonstrates how to import an OpenCASCADE model WITHOUT using
 // Gmsh's own I/O layer (useful if you create OCC objects in your own
 // code, that you want to import dynamically in Gmsh).
 //
-// If you just want to load OpenCascade files (.brep, .step, etc.) you
+// If you just want to load OpenCASCADE files (.brep, .step, etc.) you
 // SHOULD NOT use this interface: simply use the standard I/O API.
 
 // g++ -I/usr/local/opencascade/inc driverOCC.cpp -lGmsh