diff --git a/Mesh_3/include/CGAL/Mesh_3/Refine_cells_3.h b/Mesh_3/include/CGAL/Mesh_3/Refine_cells_3.h
index f593f293201..2abcb9f3241 100644
--- a/Mesh_3/include/CGAL/Mesh_3/Refine_cells_3.h
+++ b/Mesh_3/include/CGAL/Mesh_3/Refine_cells_3.h
@@ -750,8 +750,9 @@ int
Refine_cells_3
::
number_of_bad_elements_impl()
{
- typedef typename MD::Subdomain Subdomain;
- typedef typename Tr::Finite_cells_iterator Finite_cell_iterator;
+ typedef typename MD::Subdomain_index Subdomain_index;
+ typedef boost::optional Subdomain;
+ typedef typename Tr::Finite_cells_iterator Finite_cell_iterator;
int count = 0;
#if defined(CGAL_MESH_3_VERBOSE) || defined(CGAL_MESH_3_PROFILING)
diff --git a/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h b/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
index 3d70b1a0fe9..38dcb7dc76b 100644
--- a/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
+++ b/Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
@@ -1052,7 +1052,8 @@ int
Refine_facets_3::
number_of_bad_elements_impl()
{
- typedef typename MD::Subdomain Subdomain;
+ typedef typename MD::Subdomain_index Subdomain_index;
+ typedef boost::optional Subdomain;
typedef typename Tr::Finite_facets_iterator Finite_facet_iterator;
int count = 0, count_num_bad_surface_facets = 0;
@@ -1733,7 +1734,8 @@ Refine_facets_3_base::
is_facet_encroached(const Facet& facet,
const Weighted_point& point) const
{
- typedef typename MD::Subdomain Subdomain;
+ typedef typename MD::Subdomain_index Subdomain_index;
+ typedef boost::optional Subdomain;
if ( r_tr_.is_infinite(facet) || ! this->is_facet_on_surface(facet) )
return false;