diff --git a/src/GRANULAR/pair_gran_hertz_history.cpp b/src/GRANULAR/pair_gran_hertz_history.cpp
index e52aac10dbbb92ef15a8572115cd21756f35c9f9..14cbc8eb0a20b7973c1342a6616e5c8519876990 100644
--- a/src/GRANULAR/pair_gran_hertz_history.cpp
+++ b/src/GRANULAR/pair_gran_hertz_history.cpp
@@ -183,6 +183,7 @@ void PairGranHertzHistory::compute(int eflag, int vflag)
         ccel = kn*(radsum-r)*rinv - damp;
         polyhertz = sqrt((radsum-r)*radi*radj / radsum);
         ccel *= polyhertz;
+        if (ccel < 0.0) ccel = 0.0;
 
         // relative velocities
 
@@ -390,6 +391,7 @@ double PairGranHertzHistory::single(int i, int j, int itype, int jtype,
   ccel = kn*(radsum-r)*rinv - damp;
   polyhertz = sqrt((radsum-r)*radi*radj / radsum);
   ccel *= polyhertz;
+  if (ccel < 0.0) ccel = 0.0;
 
   // relative velocities
 
diff --git a/src/GRANULAR/pair_gran_hooke.cpp b/src/GRANULAR/pair_gran_hooke.cpp
index 66e1c3dd7a8bc09a2b8649e388fce6ff832b0cdd..2d6d113ab7dbb8a7f707ab5ee11861f13e359040 100644
--- a/src/GRANULAR/pair_gran_hooke.cpp
+++ b/src/GRANULAR/pair_gran_hooke.cpp
@@ -161,6 +161,7 @@ void PairGranHooke::compute(int eflag, int vflag)
 
         damp = meff*gamman*vnnr*rsqinv;
         ccel = kn*(radsum-r)*rinv - damp;
+        if (ccel < 0.0) ccel = 0.0;
 
         // relative velocities
 
@@ -302,6 +303,7 @@ double PairGranHooke::single(int i, int j, int itype, int jtype, double rsq,
 
   damp = meff*gamman*vnnr*rsqinv;
   ccel = kn*(radsum-r)*rinv - damp;
+  if (ccel < 0.0) ccel = 0.0;
 
   // relative velocities
 
diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp
index e9662c9e7341ab77c6b76b69ac3ac773df501f4f..1378709cb563406354c63fe30236091f3d1ce33f 100644
--- a/src/GRANULAR/pair_gran_hooke_history.cpp
+++ b/src/GRANULAR/pair_gran_hooke_history.cpp
@@ -223,6 +223,7 @@ void PairGranHookeHistory::compute(int eflag, int vflag)
 
         damp = meff*gamman*vnnr*rsqinv;
         ccel = kn*(radsum-r)*rinv - damp;
+        if (ccel < 0.0) ccel = 0.0;
 
         // relative velocities
 
@@ -687,6 +688,7 @@ double PairGranHookeHistory::single(int i, int j, int itype, int jtype,
 
   damp = meff*gamman*vnnr*rsqinv;
   ccel = kn*(radsum-r)*rinv - damp;
+  if (ccel < 0.0) ccel = 0.0;
 
   // relative velocities