diff --git a/src/mesh/blockforest/RefinementSelection.h b/src/mesh/blockforest/RefinementSelection.h
index 4c29773540998dac4b29f27cb7c39e7add96e175..1055d203f233f0c0b69780c9f9095d34a4901c66 100644
--- a/src/mesh/blockforest/RefinementSelection.h
+++ b/src/mesh/blockforest/RefinementSelection.h
@@ -103,7 +103,7 @@ inline void walberla::mesh::RefinementSelection<DistanceObject>::operator()( blo
          continue;
 
       walberla::optional< bool > intersects = intersectsSurface( *distanceObject_, blocks[ shuffle[ii] ]->getAABB(), maxError_, distance_ );
-      if( intersects.value_or( true ) )
+      if( !intersects || intersects.value() )
          refine[ shuffle[ ii ] ] = uint8_t( 1 );
    }