diff --git a/Src/Arranger/FOctreeArranger.hpp b/Src/Arranger/FOctreeArranger.hpp
index 9fc44513b50c3dddcfb826a55d432d739bcf5d26..f3e3bb3e025c817652fc9f151ada66c8ec811934 100755
--- a/Src/Arranger/FOctreeArranger.hpp
+++ b/Src/Arranger/FOctreeArranger.hpp
@@ -132,7 +132,7 @@ public:
 
                     const MortonIndex particuleIndex = tree->getMortonFromPosition(partPos);
                     if(particuleIndex != currentIndex){
-                        tomove.push(ConverterClass::GetParticle(particles,idxPart));
+                        tomove.push(ConverterClass::GetParticleAndRemove(particles,idxPart));
                     }
                 }
             } while(octreeIterator.moveRight());
diff --git a/Src/Arranger/FOctreeArrangerProc.hpp b/Src/Arranger/FOctreeArrangerProc.hpp
index 64eacbcfcd95c6df52e7e44e51b418c30cd7e252..224728cae9bdb737a70345e85cfe8374cbdd929b 100755
--- a/Src/Arranger/FOctreeArrangerProc.hpp
+++ b/Src/Arranger/FOctreeArrangerProc.hpp
@@ -185,7 +185,7 @@ public:
                     if(particuleIndex != currentIndex){
                         // find the right interval
                         const int procConcerned = getInterval( particuleIndex, comm.processCount(), intervals);
-                        toMove[procConcerned].push(ConverterClass::GetParticle(particles,idxPart));
+                        toMove[procConcerned].push(ConverterClass::GetParticleAndRemove(particles,idxPart));
                         indexesToExtract.push(idxPart);
                     }
                 }
diff --git a/Tests/Kernels/testSphericalGalaxyCsv.cpp b/Tests/Kernels/testSphericalGalaxyCsv.cpp
index 7bf7d20f6a53edf603f36624a5f73657688ce9da..352622e7635b8fd36220bef417907fecf282e2d1 100755
--- a/Tests/Kernels/testSphericalGalaxyCsv.cpp
+++ b/Tests/Kernels/testSphericalGalaxyCsv.cpp
@@ -99,7 +99,7 @@ template <class ParticleClass>
 class Converter {
 public:
     template <class ContainerClass>
-    static ParticleClass GetParticle(ContainerClass* containers, const int idxExtract){
+    static ParticleClass GetParticleAndRemove(ContainerClass* containers, const int idxExtract){
         const FReal*const positionsX = containers->getPositions()[0];
         const FReal*const positionsY = containers->getPositions()[1];
         const FReal*const positionsZ = containers->getPositions()[2];
@@ -119,6 +119,8 @@ public:
         part.potential = potentials[idxExtract];
         part.velocity  = velocites[idxExtract];
 
+        containers->removeParticles(&idxExtract, 1);
+
         return part;
     }
 
diff --git a/Tests/Utils/testOctreeRearrange.cpp b/Tests/Utils/testOctreeRearrange.cpp
index 6536376e77d2572d623b8c4398d0da11b836d82a..9f496b19aed27d373c78eb88c0c4b47e08dda477 100755
--- a/Tests/Utils/testOctreeRearrange.cpp
+++ b/Tests/Utils/testOctreeRearrange.cpp
@@ -47,12 +47,13 @@ template <class ParticleClass>
 class Converter {
 public:
     template <class ContainerClass>
-    static ParticleClass GetParticle(ContainerClass* container, const int idxExtract){
+    static ParticleClass GetParticleAndRemove(ContainerClass* container, const int idxExtract){
         TestParticle part;
         part.position.setPosition(
                     container->getPositions()[0][idxExtract],
                     container->getPositions()[1][idxExtract],
                     container->getPositions()[2][idxExtract]);
+        container->removeParticles(&idxExtract, 1);
         return part;
     }
 
diff --git a/Tests/Utils/testOctreeRearrangeProc.cpp b/Tests/Utils/testOctreeRearrangeProc.cpp
index 4c32612981b53851710035ab0fe790050b8e1c47..c1ab718c4958e57e768df08c1408d46650ec0fdd 100755
--- a/Tests/Utils/testOctreeRearrangeProc.cpp
+++ b/Tests/Utils/testOctreeRearrangeProc.cpp
@@ -55,12 +55,13 @@ template <class ParticleClass>
 class Converter {
 public:
     template <class ContainerClass>
-    static ParticleClass GetParticle(ContainerClass* container, const int idxExtract){
+    static ParticleClass GetParticleAndRemove(ContainerClass* container, const int idxExtract){
         TestParticle part;
         part.position.setPosition(
                     container->getPositions()[0][idxExtract],
                     container->getPositions()[1][idxExtract],
                     container->getPositions()[2][idxExtract]);
+        container->removeParticles(&idxExtract, 1);
         return part;
     }