diff --git a/Geo/GModelIO_CGNS.cpp b/Geo/GModelIO_CGNS.cpp
index 01d6f2c6fced5e6b84304fe712686c563308a281..8a6138adf40d108ac99f43f2520657864afab036 100644
--- a/Geo/GModelIO_CGNS.cpp
+++ b/Geo/GModelIO_CGNS.cpp
@@ -1068,7 +1068,7 @@ int write_CGNS_zones(GModel &model, const int zoneDefinition, const int numZone,
           const int numBoVert = zoneBoVec.size();
           std::vector<int> iZBV(numBoVert);
           for(int i = 0; i != numBoVert; ++i) iZBV[i] = i;
-          std::sort<int*, ZoneBoVecSort>(&iZBV[0], &iZBV[numBoVert],
+          std::sort<int*, ZoneBoVecSort>(&iZBV[0], &iZBV[numBoVert-1],
                                          ZoneBoVecSort(zoneBoVec));
 
           dBuffer.reserve(1024);