diff --git a/bfps/cpp/distributed_particles.cpp b/bfps/cpp/distributed_particles.cpp
index 476f44d23df18f36ea1ab8058c554cc822bab62a..49bae5185e7e43151cd713a38e0622ed52c1912a 100644
--- a/bfps/cpp/distributed_particles.cpp
+++ b/bfps/cpp/distributed_particles.cpp
@@ -132,6 +132,11 @@ void distributed_particles<particle_type, rnumber, interp_neighbours>::read(
             MPI_DOUBLE,
             0,
             this->comm);
+    for (int p=0; p<this->nparticles; p++)
+    {
+        if (this->vel->z_is_here(temp[this->ncomponents*p+2]))
+            this->state[p] = temp + this->ncomponents*p;
+    }
     //if (this->myrank == 0)
     //{
     //    if (this->iteration > 0)
diff --git a/bfps/cpp/interpolator.hpp b/bfps/cpp/interpolator.hpp
index fa73fe14ea75eb281e103eb16f6ba5ee0318a166..d207c69e26f56aecee08b8713e1608cf133ac7f2 100644
--- a/bfps/cpp/interpolator.hpp
+++ b/bfps/cpp/interpolator.hpp
@@ -24,6 +24,7 @@
 
 
 
+#include <cmath>
 #include "field_descriptor.hpp"
 #include "fftw_tools.hpp"
 #include "fluid_solver_base.hpp"
@@ -53,6 +54,12 @@ class interpolator:public interpolator_base<rnumber, interp_neighbours>
 
         int read_rFFTW(const void *src);
 
+        inline bool z_is_here(double z)
+        {
+            return (this->descriptor->rank[MOD(int(floor(z/this->dz)), this->descriptor->sizes[0])] ==
+                    this->descriptor->myrank);
+        }
+
         /* interpolate field at an array of locations */
         void sample(
                 const int nparticles,
diff --git a/setup.py b/setup.py
index fb36f5b66b979d2cf4efbb2e999f53ce140df37c..87be77279ec61f4327bfca51ec42bb98d1c101d3 100644
--- a/setup.py
+++ b/setup.py
@@ -91,15 +91,15 @@ print('This is bfps version ' + VERSION)
 
 ### lists of files and MANIFEST.in
 src_file_list = ['field_descriptor',
-                 'fluid_solver_base',
-                 'fluid_solver',
+                 'distributed_particles',
                  'interpolator_base',
                  'particles_base',
-                 'rFFTW_interpolator',
-                 'rFFTW_particles',
                  'interpolator',
                  'particles',
-                 'distributed_particles',
+                 'rFFTW_interpolator',
+                 'rFFTW_particles',
+                 'fluid_solver_base',
+                 'fluid_solver',
                  'fftw_tools',
                  'spline_n1',
                  'spline_n2',