diff --git a/PG-PuReMD/src/cuda/cuda_valence_angles.cu b/PG-PuReMD/src/cuda/cuda_valence_angles.cu
index 09c288b7a4905a022b8511f0a3fde8b456a46635..996ab0ef0b736900bf08689a4ba9aca03ea57b08 100644
--- a/PG-PuReMD/src/cuda/cuda_valence_angles.cu
+++ b/PG-PuReMD/src/cuda/cuda_valence_angles.cu
@@ -114,7 +114,7 @@ CUDA_GLOBAL void Cuda_Valence_Angles_Part1( reax_atom *my_atoms,
     else
     {
         vlpadj = workspace.nlp[j];
-        dSBO2 = (prod_SBO - 1.0) * (1.0 + p_val8 * workspace.dDelta_lp[j]);
+        dSBO2 = (prod_SBO - 1.0) * (1.0 - p_val8 * workspace.dDelta_lp[j]);
     }
 
     SBO = SBOp + (1.0 - prod_SBO) * (-workspace.Delta_boc[j] - p_val8 * vlpadj);
diff --git a/PG-PuReMD/src/valence_angles.c b/PG-PuReMD/src/valence_angles.c
index e4e8478ca098ae49b5a4fe1a07123ec993dd3e33..e88346ca1113f45d4101fe9ebcfabdf518ecfe9e 100644
--- a/PG-PuReMD/src/valence_angles.c
+++ b/PG-PuReMD/src/valence_angles.c
@@ -186,7 +186,7 @@ void Valence_Angles( reax_system * const system, control_params * const control,
         else
         {
             vlpadj = workspace->nlp[j];
-            dSBO2 = (prod_SBO - 1.0) * (1.0 + p_val8 * workspace->dDelta_lp[j]);
+            dSBO2 = (prod_SBO - 1.0) * (1.0 - p_val8 * workspace->dDelta_lp[j]);
         }
 
         SBO = SBOp + (1.0 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj);
diff --git a/sPuReMD/src/valence_angles.c b/sPuReMD/src/valence_angles.c
index d8d7e5b13ab536afe29b2ffc1c1add78a69488fc..3f9a9c8a2c14d8e973d43f458f8eebddd7846f8e 100644
--- a/sPuReMD/src/valence_angles.c
+++ b/sPuReMD/src/valence_angles.c
@@ -208,7 +208,7 @@ void Valence_Angles( reax_system *system, control_params *control,
             else
             {
                 vlpadj = workspace->nlp[j];
-                dSBO2 = (prod_SBO - 1.0) * (1.0 + p_val8 * workspace->dDelta_lp[j]);
+                dSBO2 = (prod_SBO - 1.0) * (1.0 - p_val8 * workspace->dDelta_lp[j]);
             }
 
             SBO = SBOp + (1.0 - prod_SBO) * (-workspace->Delta_boc[j] - p_val8 * vlpadj);