diff --git a/src/vesselbase/ActionWithVessel.cpp b/src/vesselbase/ActionWithVessel.cpp
index f99e750726563a952549a406952152317af94b4a..96a78f206564f3c1ee1602855b94f1014fdf241a 100644
--- a/src/vesselbase/ActionWithVessel.cpp
+++ b/src/vesselbase/ActionWithVessel.cpp
@@ -168,11 +168,11 @@ void ActionWithVessel::calculateAllVessels( const int& stepn ){
           // quantity is contributing more than the tolerance
           if( functions[j]->calculate(kk,tolerance) ) keep=true;
       }
+      // Clear the derivatives from this step
+      for(unsigned j=0;j<getNumberOfDerivatives(kk);++j) derivatives[j]=0.0;
       // If the contribution of this quantity is very small at neighbour list time ignore it
       // untill next neighbour list time
       if( reduceAtNextStep && !keep ) deactivate(kk);
-      // Clear the derivatives from this step
-      for(unsigned j=0;j<getNumberOfDerivatives(kk);++j) derivatives[j]=0.0;
   }
   // Update the dynamic list 
   if(reduceAtNextStep){ members.mpi_gatherActiveMembers( comm ); }