diff --git a/io_mesh_stl/blender_utils.py b/io_mesh_stl/blender_utils.py
index 76dc86b9b3088fce30d4d4ca20f3cc790a5d3377..a043a8f34c65eba4090c1f90995ac64e17a89b16 100644
--- a/io_mesh_stl/blender_utils.py
+++ b/io_mesh_stl/blender_utils.py
@@ -49,5 +49,5 @@ def faces_from_mesh(ob, apply_modifier=False, triangulate=True):
             else:
                 yield list(face.vertices)
 
-    return ([tuple(ob.matrix_world * mesh.vertices[index].co)
+    return ([tuple(mesh.vertices[index].co * ob.matrix_world)
              for index in indexes] for indexes in iter_face_index())