diff --git a/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp b/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
index 80571ba1e75078093b8143b9a25c1609620a94f9..f280c213e2d22f44648f37150fcbb9ed636f23ff 100644
--- a/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
+++ b/Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
@@ -1701,17 +1701,16 @@ protected:
                                             myThreadkernels->P2PRemote(currentIter.coord,currentIter.targets,
                                                                        currentIter.sources, periodicNeighbors, periodicNeighborPositions, periodicNeighborsCounter);
 
-                                            for(int idxNeig = 0 ; idxNeig < counter ; ++idxNeig){
-                                                if( periodicNeighbors[idxNeig] ){
-                                                    FReal*const positionsX = periodicNeighbors[idxNeig]->getWPositions()[0];
-                                                    FReal*const positionsY = periodicNeighbors[idxNeig]->getWPositions()[1];
-                                                    FReal*const positionsZ = periodicNeighbors[idxNeig]->getWPositions()[2];
-
-                                                    for(FSize idxPart = 0; idxPart < periodicNeighbors[idxNeig]->getNbParticles() ; ++idxPart){
-                                                        positionsX[idxPart] -= boxWidth * FReal(offsets[idxNeig].getX());
-                                                        positionsY[idxPart] -= boxWidth * FReal(offsets[idxNeig].getY());
-                                                        positionsZ[idxPart] -= boxWidth * FReal(offsets[idxNeig].getZ());
-                                                    }
+                                            for(int idxNeig = 0 ; idxNeig < periodicNeighborsCounter ; ++idxNeig){
+                                                FAssertLF( periodicNeighbors[idxNeig] );
+                                                FReal*const positionsX = periodicNeighbors[idxNeig]->getWPositions()[0];
+                                                FReal*const positionsY = periodicNeighbors[idxNeig]->getWPositions()[1];
+                                                FReal*const positionsZ = periodicNeighbors[idxNeig]->getWPositions()[2];
+
+                                                for(FSize idxPart = 0; idxPart < periodicNeighbors[idxNeig]->getNbParticles() ; ++idxPart){
+                                                    positionsX[idxPart] -= boxWidth * FReal(offsets[idxNeig].getX());
+                                                    positionsY[idxPart] -= boxWidth * FReal(offsets[idxNeig].getY());
+                                                    positionsZ[idxPart] -= boxWidth * FReal(offsets[idxNeig].getZ());
                                                 }
                                             }
                                         }