diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp
index fb22483a073d327e188c62ac9bc782c74000ae26..a42690c280f960d55ef482f4f7d9c85a04af0d31 100644
--- a/src/USER-MISC/fix_smd.cpp
+++ b/src/USER-MISC/fix_smd.cpp
@@ -270,12 +270,12 @@ void FixSMD::smd_tether()
         ftotal[2] -= fz*massfrac;
         if (evflag) {
           domain->unmap(x[i],image[i],unwrap);
-          v[0] = fx*massfrac*unwrap[0];
-          v[1] = fy*massfrac*unwrap[1];
-          v[2] = fz*massfrac*unwrap[2];
-          v[3] = fx*massfrac*unwrap[1];
-          v[4] = fx*massfrac*unwrap[2];
-          v[5] = fy*massfrac*unwrap[2];
+          v[0] = -fx*massfrac*unwrap[0];
+          v[1] = -fy*massfrac*unwrap[1];
+          v[2] = -fz*massfrac*unwrap[2];
+          v[3] = -fx*massfrac*unwrap[1];
+          v[4] = -fx*massfrac*unwrap[2];
+          v[5] = -fy*massfrac*unwrap[2];
           v_tally(i, v);
         }
       }
@@ -291,12 +291,12 @@ void FixSMD::smd_tether()
         ftotal[2] -= fz*massfrac;
         if (evflag) {
           domain->unmap(x[i],image[i],unwrap);
-          v[0] = fx*massfrac*unwrap[0];
-          v[1] = fy*massfrac*unwrap[1];
-          v[2] = fz*massfrac*unwrap[2];
-          v[3] = fx*massfrac*unwrap[1];
-          v[4] = fx*massfrac*unwrap[2];
-          v[5] = fy*massfrac*unwrap[2];
+          v[0] = -fx*massfrac*unwrap[0];
+          v[1] = -fy*massfrac*unwrap[1];
+          v[2] = -fz*massfrac*unwrap[2];
+          v[3] = -fx*massfrac*unwrap[1];
+          v[4] = -fx*massfrac*unwrap[2];
+          v[5] = -fy*massfrac*unwrap[2];
           v_tally(i, v);
         }
       }