diff --git a/mesh_looptools.py b/mesh_looptools.py
index af84f61fd14a82c61486c8b65c3879ddef4bfe9a..1a75b0deef9c674592e34bee8af0093a5703ffaa 100644
--- a/mesh_looptools.py
+++ b/mesh_looptools.py
@@ -23,7 +23,7 @@
 bl_info = {
     "name": "LoopTools",
     "author": "Bart Crouch, Vladimir Spivak (cwolf3d)",
-    "version": (4, 7, 3),
+    "version": (4, 7, 4),
     "blender": (2, 80, 0),
     "location": "View3D > Sidebar > Edit Tab / Edit Mode Context Menu",
     "warning": "",
@@ -805,6 +805,21 @@ def move_verts(object, bm, mapping, move, lock, influence):
             mat = object.matrix_world.copy()
         mat_inv = mat.inverted()
 
+    # get all mirror vectors
+    mirror_Vectors = []
+    if object.data.use_mirror_x:
+        mirror_Vectors.append(mathutils.Vector((-1, 1, 1)))
+    if object.data.use_mirror_y:
+        mirror_Vectors.append(mathutils.Vector((1, -1, 1)))
+    if object.data.use_mirror_x and object.data.use_mirror_y:
+        mirror_Vectors.append(mathutils.Vector((-1, -1, 1)))
+    z_mirror_Vectors = []
+    if object.data.use_mirror_z:
+        for v in mirror_Vectors:
+            z_mirror_Vectors.append(mathutils.Vector((1, 1, -1)) * v)
+        mirror_Vectors.extend(z_mirror_Vectors)
+        mirror_Vectors.append(mathutils.Vector((1, 1, -1)))
+
     for loop in move:
         for index, loc in loop:
             if mapping:
@@ -827,7 +842,14 @@ def move_verts(object, bm, mapping, move, lock, influence):
             else:
                 new_loc = loc * (influence / 100) + \
                                  bm.verts[index].co * ((100 - influence) / 100)
+
+            for vert in bm.verts:
+                for mirror_Vector in mirror_Vectors:
+                    if vert.co == mirror_Vector * bm.verts[index].co:
+                        vert.co = mirror_Vector * new_loc
+
             bm.verts[index].co = new_loc
+
     bm.normal_update()
     object.data.update()