diff --git a/src/GrandBrownTown.cu b/src/GrandBrownTown.cu
index 785dcb73b47e17b1b4f254e9217b809c1efc2901..60520a4a26c5a269869d4536619b83642dc102b5 100644
--- a/src/GrandBrownTown.cu
+++ b/src/GrandBrownTown.cu
@@ -700,11 +700,12 @@ void GrandBrownTown::RunNoseHooverLangevin()
                 delete[] coords;
                 delete[] atomIds;
         }
+        RBC.clearForceAndTorque();
+
         if (imd_on && clientsock)
             internal->setForceInternalOnDevice(imdForces); // TODO ensure replicas are mutually exclusive with IMD
-
-        RBC.clearForceAndTorque();
-        gpuErrchk(cudaMemsetAsync((void*)(internal->getForceInternal_d()),0,num*numReplicas*sizeof(Vector3)));
+	else
+	    gpuErrchk(cudaMemsetAsync((void*)(internal->getForceInternal_d()),0,num*numReplicas*sizeof(Vector3)));
         if (interparticleForce)
         {
             // 'tabulatedPotential' - determines whether interaction is described with tabulated potentials or formulas