diff --git a/Src/GroupTree/Chebyshev/FChebCellPOD.hpp b/Src/GroupTree/Chebyshev/FChebCellPOD.hpp
index d16972dac0bb4d73e4085d8f9a21c3028ce6b16b..8d801f5c54d169cf2e22212ccb23dddf33d1dbd2 100644
--- a/Src/GroupTree/Chebyshev/FChebCellPOD.hpp
+++ b/Src/GroupTree/Chebyshev/FChebCellPOD.hpp
@@ -51,6 +51,16 @@ public:
         symb->mortonIndex = inMortonIndex;
     }
 
+    /** To get the cell level */
+    int getLevel() const {
+        return symb->level;
+    }
+
+    /** To set the cell level */
+    void setLevel(const int level) {
+        symb->level = level;
+    }
+
     /** To get the position */
     FTreeCoordinate getCoordinate() const {
         return FTreeCoordinate(symb->coordinates[0],
@@ -103,4 +113,3 @@ public:
 
 
 #endif // FCHEBCELLPOD_HPP
-
diff --git a/Src/GroupTree/Core/FBasicCellPOD.hpp b/Src/GroupTree/Core/FBasicCellPOD.hpp
index 1060b846b79b308b66d1b2054a0e912b38e1ff17..d47258c98c7310d0ea584216f1f8aee967caa9ca 100644
--- a/Src/GroupTree/Core/FBasicCellPOD.hpp
+++ b/Src/GroupTree/Core/FBasicCellPOD.hpp
@@ -9,7 +9,7 @@
 struct alignas(FStarPUDefaultAlign::StructAlign) FBasicCellPOD {
     MortonIndex mortonIndex;
     int coordinates[3];
+    int level;
 };
 
 #endif // FBASICCELLPOD_HPP
-
diff --git a/Src/GroupTree/Core/FGroupTree.hpp b/Src/GroupTree/Core/FGroupTree.hpp
index 944d3f7c40e4a788ede9aa7fc2f36e90193485b1..1bcb7d7118ac972a75b99b516451a0042b679aeb 100644
--- a/Src/GroupTree/Core/FGroupTree.hpp
+++ b/Src/GroupTree/Core/FGroupTree.hpp
@@ -99,6 +99,7 @@ public:
                     CompositeCellClass newNode = newBlock->getCompleteCell(cellIdInBlock);
                     newNode.setMortonIndex(newNodeIndex);
                     newNode.setCoordinate(newNodeCoordinate);
+                    newNode.setLevel(idxLevel);
 
                     // Add leaf
                     nbParticlesOffsetBeforeLeaf = newParticleBlock->newLeaf(newNodeIndex, cellIdInBlock,
@@ -149,6 +150,7 @@ public:
                     CompositeCellClass newNode = newBlock->getCompleteCell(cellIdInBlock);
                     newNode.setMortonIndex(newNodeIndex);
                     newNode.setCoordinate(newNodeCoordinate);
+                    newNode.setLevel(idxLevel);
 
                     cellIdInBlock += 1;
                     blockIteratorInOctree.moveRight();
diff --git a/Src/GroupTree/Rotation/FRotationCellPOD.hpp b/Src/GroupTree/Rotation/FRotationCellPOD.hpp
index 8b86ae7c11f7bbd6bf7457f7bf2958546da90df5..10e13f04ff4b68f66335ffca8e2b024a7ea1ec0e 100644
--- a/Src/GroupTree/Rotation/FRotationCellPOD.hpp
+++ b/Src/GroupTree/Rotation/FRotationCellPOD.hpp
@@ -53,6 +53,16 @@ public:
         symb->mortonIndex = inMortonIndex;
     }
 
+    /** To get the cell level */
+    int getLevel() const {
+        return symb->level;
+    }
+
+    /** To set the cell level */
+    void setLevel(const int level) {
+        symb->level = level;
+    }
+
     /** To get the position */
     FTreeCoordinate getCoordinate() const {
         return FTreeCoordinate(symb->coordinates[0],
@@ -109,4 +119,3 @@ public:
 
 
 #endif // FROTATIONCELLPOD_HPP
-
diff --git a/Src/GroupTree/Taylor/FTaylorCellPOD.hpp b/Src/GroupTree/Taylor/FTaylorCellPOD.hpp
index 9fba78bf2524c40b16de1f95e97e7e4d77864ac8..3c4ff6d22d77bb9999da2b79850de9045b16cc32 100644
--- a/Src/GroupTree/Taylor/FTaylorCellPOD.hpp
+++ b/Src/GroupTree/Taylor/FTaylorCellPOD.hpp
@@ -51,6 +51,16 @@ public:
         symb->mortonIndex = inMortonIndex;
     }
 
+    /** To get the cell level */
+    int getLevel() const {
+        return symb->level;
+    }
+
+    /** To set the cell level */
+    void setLevel(const int level) {
+        symb->level = level;
+    }
+
     /** To get the position */
     FTreeCoordinate getCoordinate() const {
         return FTreeCoordinate(symb->coordinates[0],
@@ -102,4 +112,3 @@ public:
 };
 
 #endif // FTAYLORCELLPOD_HPP
-
diff --git a/Src/GroupTree/TestKernel/FTestCellPOD.hpp b/Src/GroupTree/TestKernel/FTestCellPOD.hpp
index 1dd5d2110bf0e46bacfba25cabb02af5a84d77c8..6ac22cd16f432a84c1b3385786608ac7766db604 100644
--- a/Src/GroupTree/TestKernel/FTestCellPOD.hpp
+++ b/Src/GroupTree/TestKernel/FTestCellPOD.hpp
@@ -34,6 +34,16 @@ public:
         symb->mortonIndex = inMortonIndex;
     }
 
+    /** To get the cell level */
+    int getLevel() const {
+        return symb->level;
+    }
+
+    /** To set the cell level */
+    void setLevel(const int level) {
+        symb->level = level;
+    }
+
     /** To get the position */
     FTreeCoordinate getCoordinate() const {
         return FTreeCoordinate(symb->coordinates[0],
@@ -81,4 +91,3 @@ public:
 
 
 #endif // FTESTCELLPOD_HPP
-
diff --git a/Src/GroupTree/Uniform/FUnifCellPOD.hpp b/Src/GroupTree/Uniform/FUnifCellPOD.hpp
index 578ee670c2677df738719093379dd62d2b2da4b1..65cca0d4721c81d11c7bafc73702e6e9a688be33 100644
--- a/Src/GroupTree/Uniform/FUnifCellPOD.hpp
+++ b/Src/GroupTree/Uniform/FUnifCellPOD.hpp
@@ -51,6 +51,16 @@ public:
       symb->mortonIndex = inMortonIndex;
   }
 
+  /** To get the cell level */
+  int getLevel() const {
+      return symb->level;
+  }
+
+  /** To set the cell level */
+  void setLevel(const int level) {
+      symb->level = level;
+  }
+
   /** To get the position */
   FTreeCoordinate getCoordinate() const {
       return FTreeCoordinate(symb->coordinates[0],
@@ -129,4 +139,3 @@ public:
 };
 
 #endif // FUNIFCELLPOD_HPP
-