diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index 23ac5442e5e62df8baffb697967d6c8bce9a0f2f..493c9ab026fb685442190611eb2c4fd3aea33e1c 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -121,7 +121,7 @@ void OCC_Internals::reset()
 void OCC_Internals::setMaxTag(int dim, int val)
 {
   if(dim < -2 || dim > 3) return;
-  _maxTag[dim + 2] = val;
+  _maxTag[dim + 2] = std::max(_maxTag[dim + 2], val);
 }
 
 int OCC_Internals::getMaxTag(int dim) const