diff --git a/Geo/GModelParametrize.cpp b/Geo/GModelParametrize.cpp
index 02d4cb7135831dfb6764b04eca7e09011cbda0e7..c7e1b1603d24f6d1182af1efead3568a24b4b14f 100644
--- a/Geo/GModelParametrize.cpp
+++ b/Geo/GModelParametrize.cpp
@@ -480,7 +480,7 @@ void classifyFaces(GModel *gm, double angleThreshold, bool includeBoundary,
 #if defined(HAVE_HXT)
 
 static HXTStatus gmsh2hxt(int tag, const std::vector<MTriangle *> &t,
-                          HXTMesh **pm, std::map<MVertex *, int> &v2c,
+                          HXTMesh **pm, std::map<MVertex *, uint32_t> &v2c,
                           std::vector<MVertex *> &c2v)
 {
   HXTMesh *m;
@@ -526,7 +526,7 @@ static HXTStatus gmsh2hxt(int tag, const std::vector<MTriangle *> &t,
 }
 
 static HXTStatus gmsh2hxt(GFace *gf, HXTMesh **pm,
-                          std::map<MVertex *, int> &v2c,
+                          std::map<MVertex *, uint32_t> &v2c,
                           std::vector<MVertex *> &c2v)
 {
   return gmsh2hxt(gf->tag(), gf->triangles, pm, v2c, c2v);
@@ -544,7 +544,7 @@ int computeDiscreteCurvatures(GModel *gm)
     HXTEdges *edges;
     double *nodalCurvatures;
     double *crossField;
-    std::map<MVertex *, int> v2c;
+    std::map<MVertex *, uint32_t> v2c;
     std::vector<MVertex *> c2v;
     gmsh2hxt(*it, &m, v2c, c2v);
     HXT_CHECK(hxtEdgesCreate(m, &edges));
@@ -741,7 +741,7 @@ int isTriangulationParametrizable(const std::vector<MTriangle *> &t, int Nmax,
   HXTMesh *m;
   HXTMeanValues *param;
   HXTEdges *edges;
-  std::map<MVertex *, int> v2c;
+  std::map<MVertex *, uint32_t> v2c;
   std::vector<MVertex *> c2v;
   gmsh2hxt(1, t, &m, v2c, c2v);
   HXT_CHECK(hxtEdgesCreate(m, &edges));
diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index 8e20c4d6328478e2dee15b6f2ff4eba7d1ab3785..ed5bb63f8a02e1e62876ca6b50e5fac00ec98e7f 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -441,7 +441,7 @@ void discreteFace::secondDer(const SPoint2 &param, SVector3 &dudu,
 #if defined(HAVE_HXT)
 
 static HXTStatus gmsh2hxt(GFace *gf, HXTMesh **pm,
-                          std::map<MVertex *, int> &v2c,
+                          std::map<MVertex *, uint32_t> &v2c,
                           std::vector<MVertex *> &c2v)
 {
   int tag = gf->tag();
@@ -500,7 +500,7 @@ int discreteFace::createGeometry()
   HXTMesh *m;
   HXTMeanValues *param;
   HXTEdges *edges;
-  std::map<MVertex *, int> v2c;
+  std::map<MVertex *, uint32_t> v2c;
   std::vector<MVertex *> c2v;
   gmsh2hxt(this, &m, v2c, c2v);
   HXT_CHECK(hxtEdgesCreate(m, &edges));
diff --git a/Mesh/automaticMeshSizeField.cpp b/Mesh/automaticMeshSizeField.cpp
index 2d39b350f155e6a517a9fcf2e655ac18d4d86f86..6cc18205a93337c9d5f362b1066691ac676b63ac 100644
--- a/Mesh/automaticMeshSizeField.cpp
+++ b/Mesh/automaticMeshSizeField.cpp
@@ -38,7 +38,7 @@ automaticMeshSizeField::~automaticMeshSizeField(){
 #if defined(HAVE_HXT) && defined(HAVE_P4EST)
 
 HXTStatus Gmsh2Hxt(std::vector<GRegion *> &regions, HXTMesh *m,
-		   std::map<MVertex *, int> &v2c,
+		   std::map<MVertex *, uint32_t> &v2c,
 		   std::vector<MVertex *> &c2v);
 
 
@@ -68,7 +68,7 @@ HXTStatus automaticMeshSizeField:: updateHXT(){
   // create HXT mesh structure
   HXTMesh *mesh;
   HXT_CHECK(hxtMeshCreate(&mesh));
-  std::map<MVertex *, int> v2c;
+  std::map<MVertex *, uint32_t> v2c;
   std::vector<MVertex *> c2v;
   Gmsh2Hxt(regions, mesh, v2c, c2v);
 
diff --git a/Mesh/meshGRegionHxt.cpp b/Mesh/meshGRegionHxt.cpp
index 90c4fda7242ad58f0de264ed305f1c04872ecc14..11cf67e98a622323415bf48152b713ce1f509208 100644
--- a/Mesh/meshGRegionHxt.cpp
+++ b/Mesh/meshGRegionHxt.cpp
@@ -143,7 +143,7 @@ static HXTStatus getAllEdgesOfAllFaces(std::vector<GFace *> &faces, HXTMesh *m,
 }
 
 static HXTStatus Hxt2Gmsh(std::vector<GRegion *> &regions, HXTMesh *m,
-                          std::map<MVertex *, int> &v2c,
+                          std::map<MVertex *, uint32_t> &v2c,
                           std::vector<MVertex *> &c2v)
 {
   Msg::Debug("Start Hxt2Gmsh");
@@ -151,8 +151,8 @@ static HXTStatus Hxt2Gmsh(std::vector<GRegion *> &regions, HXTMesh *m,
   std::vector<GEdge *> allEdges;
   HXT_CHECK(getAllFacesOfAllRegions(regions, NULL, allFaces));
   HXT_CHECK(getAllEdgesOfAllFaces(allFaces, NULL, allEdges));
-  std::map<int, GEdge *> i2e;
-  std::map<int, GFace *> i2f;
+  std::map<uint32_t, GEdge *> i2e;
+  std::map<uint32_t, GFace *> i2f;
   for(size_t i = 0; i < allFaces.size(); i++)
     i2f[allFaces[i]->tag()] = allFaces[i];
   for(size_t i = 0; i < allEdges.size(); i++)
@@ -183,7 +183,7 @@ static HXTStatus Hxt2Gmsh(std::vector<GRegion *> &regions, HXTMesh *m,
     uint16_t c = m->lines.colors[i];
     MVertex *v0 = c2v[i0];
     MVertex *v1 = c2v[i1];
-    std::map<int, GEdge *>::iterator ge = i2e.find(c);
+    std::map<uint32_t, GEdge *>::iterator ge = i2e.find(c);
     if(ge == i2e.end()) {
       if(warning != c) {
         warning = c;
@@ -212,7 +212,7 @@ static HXTStatus Hxt2Gmsh(std::vector<GRegion *> &regions, HXTMesh *m,
     MVertex *v0 = c2v[i0];
     MVertex *v1 = c2v[i1];
     MVertex *v2 = c2v[i2];
-    std::map<int, GFace *>::iterator gf = i2f.find(c);
+    std::map<uint32_t, GFace *>::iterator gf = i2f.find(c);
     if(gf == i2f.end()) {
       if(warning != c) {
         warning = c;
@@ -292,7 +292,7 @@ static HXTStatus Hxt2Gmsh(std::vector<GRegion *> &regions, HXTMesh *m,
 }
 
 HXTStatus Gmsh2Hxt(std::vector<GRegion *> &regions, HXTMesh *m,
-                   std::map<MVertex *, int> &v2c, std::vector<MVertex *> &c2v)
+                   std::map<MVertex *, uint32_t> &v2c, std::vector<MVertex *> &c2v)
 {
   std::set<MVertex *> all;
   std::vector<GFace *> faces;
@@ -384,7 +384,7 @@ static HXTStatus _meshGRegionHxt(std::vector<GRegion *> &regions)
   HXTMesh *mesh;
   HXT_CHECK(hxtMeshCreate(&mesh));
 
-  std::map<MVertex *, int> v2c;
+  std::map<MVertex *, uint32_t> v2c;
   std::vector<MVertex *> c2v;
   Gmsh2Hxt(regions, mesh, v2c, c2v);