diff --git a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
index 4a9e319934c31222f8ee374014a0536f652faf38..3e553ad68f4066d613037438c94e2a640c1a78fc 100644
--- a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
+++ b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.cu
@@ -483,8 +483,6 @@ void ActuatorFarm::initBoundingSpheres(Parameter* para, CudaMemoryManager* cudaM
 {
     std::vector<int> nodesInSpheres;
 
-    real dx = para->getScaledLengthRatio(this->level);
-
     for(uint turbine=0; turbine<this->numberOfTurbines; turbine++)
     {
         real sphereRadius = c1o2*this->diametersH[turbine]+c4o1*this->epsilon;
@@ -495,7 +493,7 @@ void ActuatorFarm::initBoundingSpheres(Parameter* para, CudaMemoryManager* cudaM
 
         real sphereRadiusSqrd = sphereRadius*sphereRadius;
             
-        uint minimumNumberOfNodesPerSphere = (uint)(c4o3*cPi*pow(sphereRadius, c3o1)/pow(dx, c3o1));
+        uint minimumNumberOfNodesPerSphere = (uint)(c4o3*cPi*pow(sphereRadius-this->deltaX, c3o1)/pow(this->deltaX, c3o1));
         uint nodesInThisSphere = 0;
 
         for (uint j = 1; j <= para->getParH(this->level)->numberOfNodes; j++)
diff --git a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
index 5dcd2fc593285a7dc463943a8070411108069b4a..3d05ebea78294f8182d3e10425c9f8c290445b3f 100644
--- a/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
+++ b/src/gpu/VirtualFluids_GPU/PreCollisionInteractor/ActuatorFarm.h
@@ -38,6 +38,9 @@ public:
         this->deltaX = _deltaX*exp2(-this->level);
         this->invEpsilonSqrd = 1/(epsilon*epsilon);
         this->invDeltaX = c1o1/this->deltaX;
+     
+        if(this->epsilon<this->deltaX)
+            throw std::runtime_error("ActuatorFarm::ActuatorFarm: epsilon needs to be larger than dx!");
     }
 
     virtual  ~ActuatorFarm()