diff --git a/io_scene_ms3d/__init__.py b/io_scene_ms3d/__init__.py
index 00363f1098c9c7f9db6aed1dfef19c65f01d8425..fc2282457c54fbf7aa3e98dbd7fd3d61353a261a 100644
--- a/io_scene_ms3d/__init__.py
+++ b/io_scene_ms3d/__init__.py
@@ -23,7 +23,7 @@ bl_info = {
     'description': "Import / Export MilkShape3D MS3D files"\
             " (conform with MilkShape3D v1.8.4)",
     'author': "Alexander Nussbaumer",
-    'version': (0, 99, 1),
+    'version': (0, 99, 2),
     'blender': (2, 66, 0),
     'location': "File > Import & File > Export",
     'warning': "",
diff --git a/io_scene_ms3d/ms3d_import.py b/io_scene_ms3d/ms3d_import.py
index c4f0953e60b6fa7584402169ede5050dfefb0831..125b0ee2df68fc70fe2bf9f25b3817def374c1e1 100644
--- a/io_scene_ms3d/ms3d_import.py
+++ b/io_scene_ms3d/ms3d_import.py
@@ -363,6 +363,7 @@ class Ms3dImporter():
         # create all vertices
         for ms3d_vertex_index, ms3d_vertex in enumerate(ms3d_model.vertices):
             bmv = bm.verts.new(self.geometry_correction(ms3d_vertex.vertex))
+            bmv.index = ms3d_vertex_index
 
             if layer_extra and ms3d_vertex.vertex_ex_object and \
                     (isinstance(ms3d_vertex.vertex_ex_object, Ms3dVertexEx2) \
@@ -526,6 +527,7 @@ class Ms3dImporter():
                         ms3d_model.vertices.append(
                                 ms3d_model.vertices[vert_index])
                         bmv_new = bm.verts.new(bmv.co)
+                        bmv_new.index = -vert_index
                         bmv_new.normal = blender_normal
                         bmv_new[layer_extra] = bmv[layer_extra]
                         vert_index = length_verts
@@ -557,6 +559,7 @@ class Ms3dImporter():
             bmf_normal.normalize()
 
             bmf = bm.faces.get(bmv_list)
+
             if bmf is not None:
                 if self.report and self.options_verbose in Ms3dUi.VERBOSE_NORMAL:
                     self.report(
@@ -566,15 +569,37 @@ class Ms3dImporter():
                 continue
 
             bmf = bm.faces.new(bmv_list)
+            bmf.index = ms3d_triangle_index
             bmf.normal = bmf_normal
 
+            ##########################
+            ## WORKAROUND
+            # [#36443] Vertex to UV index doesn't match with 2.68a
+            # https://projects.blender.org/tracker/index.php?func=detail&aid=36443&group_id=9&atid=498
+            #
+            scrambled_order = dict()
+            for face_vertex_index, face_bm_vertex in enumerate(bmf.verts):
+                scrambled_order[face_bm_vertex] = face_vertex_index
             # blender uv custom data per "face vertex"
-            bmf.loops[0][layer_uv].uv = Vector(
+            bmf.loops[scrambled_order[bmv_list[0]]][layer_uv].uv = Vector(
                     (ms3d_triangle.s[0], 1.0 - ms3d_triangle.t[0]))
-            bmf.loops[1][layer_uv].uv = Vector(
+            bmf.loops[scrambled_order[bmv_list[1]]][layer_uv].uv = Vector(
                     (ms3d_triangle.s[1], 1.0 - ms3d_triangle.t[1]))
-            bmf.loops[2][layer_uv].uv = Vector(
+            bmf.loops[scrambled_order[bmv_list[2]]][layer_uv].uv = Vector(
                     (ms3d_triangle.s[2], 1.0 - ms3d_triangle.t[2]))
+            scrambled_order = None
+            #
+            ## WORKAROUND
+            ##########################
+
+            ## blender uv custom data per "face vertex"
+            #bmf.loops[0][layer_uv].uv = Vector(
+            #        (ms3d_triangle.s[0], 1.0 - ms3d_triangle.t[0]))
+            #bmf.loops[1][layer_uv].uv = Vector(
+            #        (ms3d_triangle.s[1], 1.0 - ms3d_triangle.t[1]))
+            #bmf.loops[2][layer_uv].uv = Vector(
+            #        (ms3d_triangle.s[2], 1.0 - ms3d_triangle.t[2]))
+            ##########################
 
             # ms3d custom data per "mesh face"
             bmf[layer_smoothing_group] = ms3d_triangle.smoothing_group
diff --git a/io_scene_ms3d/ms3d_ui.py b/io_scene_ms3d/ms3d_ui.py
index 5a3431c14743dcaa240833cf4e117771d2c59fdd..bde0571378fea54123aa8d20b8fb476d35ae3648 100644
--- a/io_scene_ms3d/ms3d_ui.py
+++ b/io_scene_ms3d/ms3d_ui.py
@@ -46,7 +46,6 @@ from io_scene_ms3d.ms3d_spec import (
 from io_scene_ms3d.ms3d_utils import (
         enable_edit_mode,
         get_edge_split_modifier_add_if,
-        set_sence_to_metric,
         )
 
 
@@ -1705,37 +1704,8 @@ class Ms3dSmoothingGroupPanel(Panel):
                 ).smoothing_group_index = 0
 
 
-###############################################################################
-class Ms3dSetSceneToMetricOperator(Operator):
-    """ . """
-    bl_idname = 'io_scene_ms3d.set_sence_to_metric'
-    bl_label = ms3d_str['BL_LABEL_SET_SCENE_TO_METRIC']
-    bl_description = ms3d_str['BL_DESC_SET_SCENE_TO_METRIC']
-
-
-    #
-    @classmethod
-    def poll(cls, blender_context):
-        return True
-
-    # entrypoint for option
-    def execute(self, blender_context):
-        return self.set_sence_to_metric(blender_context)
-
-    # entrypoint for option via UI
-    def invoke(self, blender_context, event):
-        return blender_context.window_manager.invoke_props_dialog(self)
-
-
-    ###########################################################################
-    def set_sence_to_metric(self, blender_context):
-        set_sence_to_metric(blender_context)
-        return {"FINISHED"}
-
-
 ###############################################################################
 def register():
-    register_class(Ms3dSetSceneToMetricOperator)
     register_class(Ms3dGroupProperties)
     register_class(Ms3dModelProperties)
     register_class(Ms3dArmatureProperties)
@@ -1754,7 +1724,6 @@ def unregister():
     unregister_class(Ms3dArmatureProperties)
     unregister_class(Ms3dModelProperties)
     unregister_class(Ms3dGroupProperties)
-    unregister_class(Ms3dSetSceneToMetricOperator)
 
 def inject_properties():
     Mesh.ms3d = PointerProperty(type=Ms3dModelProperties)
diff --git a/io_scene_ms3d/ms3d_utils.py b/io_scene_ms3d/ms3d_utils.py
index 82a75223f324706b325c25b65c5ca90656e60b58..c6196d9a84c9e8e5852ad968b574923026b0cb39 100644
--- a/io_scene_ms3d/ms3d_utils.py
+++ b/io_scene_ms3d/ms3d_utils.py
@@ -177,40 +177,6 @@ def matrix_difference(mat_src, mat_dst):
     return mat_dst_inv * mat_src
 
 
-###############################################################################
-def set_sence_to_metric(blender_context):
-    try:
-        # set metrics
-        blender_context.scene.unit_settings.system = 'METRIC'
-        blender_context.scene.unit_settings.system_rotation = 'DEGREES'
-        blender_context.scene.unit_settings.scale_length = 0.001 # 1.0mm
-        blender_context.scene.unit_settings.use_separate = False
-        blender_context.tool_settings.normal_size = 1.0 # 1.0mm
-
-        # set all 3D views to texture shaded
-        # and set up the clipping
-        for screen in blender_context.blend_data.screens:
-            for area in screen.areas:
-                if (area.type != 'VIEW_3D'):
-                    continue
-
-                for space in area.spaces:
-                    if (space.type != 'VIEW_3D'):
-                        continue
-
-                    #space.viewport_shade = 'SOLID'
-                    space.show_textured_solid = True
-                    space.clip_start = 0.1 # 0.1mm
-                    space.clip_end = 1000000.0 # 1km
-            #screen.scene.game_settings.material_mode = 'MULTITEXTURE'
-
-    except Exception:
-        raise
-
-    else:
-        pass
-
-
 ###############################################################################
 
 ###############################################################################