diff --git a/doc/texinfo/opt_geometry.texi b/doc/texinfo/opt_geometry.texi
index ae1eab8dc8f407fc69eef70e1c76402e31eb6bef..c692b51a8ff6f526d0cf61bec6fd825c0025eda1 100644
--- a/doc/texinfo/opt_geometry.texi
+++ b/doc/texinfo/opt_geometry.texi
@@ -191,6 +191,11 @@ Use multi-threaded OpenCASCADE boolean operators@*
 Default value: @code{0}@*
 Saved in: @code{General.OptionsFileName}
 
+@item Geometry.OCCSafeUnbind
+Revert to safe (i.e. with recursive checks on boundaries) unbinding of entities in boolean operations and geometrical transformations@*
+Default value: @code{0}@*
+Saved in: @code{General.OptionsFileName}
+
 @item Geometry.OCCScaling
 Scale STEP, IGES and BRep models by the given factor when importing them with the OpenCASCADE kernel@*
 Default value: @code{1}@*
diff --git a/doc/texinfo/opt_plugin.texi b/doc/texinfo/opt_plugin.texi
index 347ef5e38efa6c19cda1ec06e2881bc997b5b2ff..13b3da3da8c698aca4e78d39b40ddac978a9bed2 100644
--- a/doc/texinfo/opt_plugin.texi
+++ b/doc/texinfo/opt_plugin.texi
@@ -111,7 +111,7 @@ Default value: @code{0}
 @end table
 
 @item Plugin(Crack)
-Plugin(Crack) creates a crack around the physical group `PhysicalGroup' of dimension `Dimension' (1 or 2), embedded in a mesh of dimension `Dimension' + 1. The plugin duplicates the nodes and the elements on the crack and stores them in a new discrete curve (`Dimension' = 1) or surface (`Dimension' = 2). The elements touching the crack on the positive side are modified to use the newly generated nodes.If `OpenBoundaryPhysicalGroup' is given (> 0), its nodes are duplicated and the crack will be left open on that (part of the) boundary. Otherwise, the lips of the crack are sealed, i.e., its nodes are not duplicated. For 1D cracks, `NormalX', `NormalY' and `NormalZ' provide the reference normal of the surface in which the crack is supposed to be embedded. If `NewPhysicalGroup' is positive, use it as the tag of the newly created curve or surface; otherwise use `PhysicalGroup'.
+Plugin(Crack) creates a crack around the physical group `PhysicalGroup' of dimension `Dimension' (1 or 2), embedded in a mesh of dimension `Dimension' + 1. The plugin duplicates the nodes and the elements on the crack and stores them in a new discrete curve (`Dimension' = 1) or surface (`Dimension' = 2). The elements touching the crack on the positive side are modified to use the newly generated nodes.If `OpenBoundaryPhysicalGroup' is given (> 0), its nodes are duplicated and the crack will be left open on that (part of the) boundary. Otherwise, the lips of the crack are sealed, i.e., its nodes are not duplicated. If `AuxiliaryPhysicalGroup' is given (> 0), its elements are considered in addition to those in `PhysicalGroup' for the logic that groups the elements into the positive and negative side of the crack. However, the nodes in `AuxiliaryPhysicalGroup' are not duplicated (unless they are also in `PhysicalGroup'). This can be useful to treat corner cases in non-trivial geometries. For 1D cracks, `NormalX', `NormalY' and `NormalZ' provide the reference normal of the surface in which the crack is supposed to be embedded. If `NewPhysicalGroup' is positive, use it as the tag of the newly created curve or surface; otherwise use `PhysicalGroup'.
 Numeric options:
 @table @code
 @item Dimension
@@ -120,6 +120,8 @@ Default value: @code{1}
 Default value: @code{1}
 @item OpenBoundaryPhysicalGroup
 Default value: @code{0}
+@item AuxiliaryPhysicalGroup
+Default value: @code{0}
 @item NormalX
 Default value: @code{0}
 @item NormalY
diff --git a/src/plugin/Crack.cpp b/src/plugin/Crack.cpp
index b68b76538f44a1b9d263e4d13d6bc6481e0b233f..13373fd1bad181727e6c6c077d0e4a42e0dc3da7 100644
--- a/src/plugin/Crack.cpp
+++ b/src/plugin/Crack.cpp
@@ -44,7 +44,14 @@ std::string GMSH_CrackPlugin::getHelp() const
          "nodes are duplicated and the crack will be left "
          "open on that (part of the) boundary. Otherwise, the "
          "lips of the crack are sealed, i.e., its nodes are "
-         "not duplicated. For 1D cracks, `NormalX', `NormalY' and "
+         "not duplicated. If `AuxiliaryPhysicalGroup' is given "
+         "(> 0), its elements are considered in addition to those in "
+         "`PhysicalGroup' for the logic that groups the elements "
+         "into the positive and negative side of the crack. "
+         "However, the nodes in `AuxiliaryPhysicalGroup' are not "
+         "duplicated (unless they are also in `PhysicalGroup'). "
+         "This can be useful to treat corner cases in non-trivial "
+         "geometries. For 1D cracks, `NormalX', `NormalY' and "
          "`NormalZ' provide the reference normal of the surface "
          "in which the crack is supposed to be embedded. If "
          "`NewPhysicalGroup' is positive, use it as the tag of "