diff --git a/io_anim_bvh/__init__.py b/io_anim_bvh/__init__.py
index e7d6c7b241203a9ac6ad1827fd6666601d5253cc..f845bcf201e306cff16a0704e7358c379a702b2b 100644
--- a/io_anim_bvh/__init__.py
+++ b/io_anim_bvh/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "BioVision Motion Capture (BVH) format",
     "author": "Campbell Barton",
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "Import-Export BVH from armature objects",
     "warning": "",
@@ -46,12 +46,15 @@ from bpy.props import (StringProperty,
                        )
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  axis_conversion,
                                  )
 
 
-class ImportBVH(bpy.types.Operator, ImportHelper, OrientationHelper):
+ImportBVHOrientationHelper = orientation_helper_factory("ImportBVHOrientationHelper", axis_forward='-Z', axis_up='Y')
+
+
+class ImportBVH(bpy.types.Operator, ImportHelper, ImportBVHOrientationHelper):
     """Load a BVH motion capture file"""
     bl_idname = "import_anim.bvh"
     bl_label = "Import BVH"
diff --git a/io_mesh_ply/__init__.py b/io_mesh_ply/__init__.py
index 5fa9b26452bc8c37d7eaa1201fc2bcbd941dea89..6cf40830d6f91c5c4ce4fa5bd245d1e67ccb43ee 100644
--- a/io_mesh_ply/__init__.py
+++ b/io_mesh_ply/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Stanford PLY format",
     "author": "Bruce Merry, Campbell Barton",
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "Import-Export PLY mesh data withs UV's and vertex colors",
     "warning": "",
@@ -53,11 +53,14 @@ from bpy.props import (CollectionProperty,
                        )
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  axis_conversion,
                                  )
 
 
+IOPLYOrientationHelper = orientation_helper_factory("IOPLYOrientationHelper", axis_forward='Y', axis_up='Z')
+
+
 class ImportPLY(bpy.types.Operator, ImportHelper):
     """Load a PLY geometry file"""
     bl_idname = "import_mesh.ply"
@@ -88,7 +91,7 @@ class ImportPLY(bpy.types.Operator, ImportHelper):
         return {'FINISHED'}
 
 
-class ExportPLY(bpy.types.Operator, ExportHelper, OrientationHelper):
+class ExportPLY(bpy.types.Operator, ExportHelper, IOPLYOrientationHelper):
     """Export a single object as a Stanford PLY with normals, """ \
     """colors and texture coordinates"""
     bl_idname = "export_mesh.ply"
diff --git a/io_mesh_stl/__init__.py b/io_mesh_stl/__init__.py
index 56d56289e5a9a677933da82656d749d785549ef8..6c97db1b289bced78bfe9fd6abe35f768acabb59 100644
--- a/io_mesh_stl/__init__.py
+++ b/io_mesh_stl/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
     "name": "STL format",
     "author": "Guillaume Bouchard (Guillaum)",
     "version": (1, 1, 1),
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export > Stl",
     "description": "Import-Export STL files",
     "warning": "",
@@ -65,13 +65,16 @@ from bpy.props import (StringProperty,
                        )
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  axis_conversion,
                                  )
 from bpy.types import Operator, OperatorFileListElement
 
 
-class ImportSTL(Operator, ImportHelper, OrientationHelper):
+IOSTLOrientationHelper = orientation_helper_factory("IOSTLOrientationHelper", axis_forward='Y', axis_up='Z')
+
+
+class ImportSTL(Operator, ImportHelper, IOSTLOrientationHelper):
     """Load STL triangle mesh data"""
     bl_idname = "import_mesh.stl"
     bl_label = "Import STL"
@@ -140,7 +143,7 @@ class ImportSTL(Operator, ImportHelper, OrientationHelper):
         return {'FINISHED'}
 
 
-class ExportSTL(Operator, ExportHelper, OrientationHelper):
+class ExportSTL(Operator, ExportHelper, IOSTLOrientationHelper):
     """Save STL triangle mesh data from the active object"""
     bl_idname = "export_mesh.stl"
     bl_label = "Export STL"
diff --git a/io_scene_3ds/__init__.py b/io_scene_3ds/__init__.py
index 73459c12c0a611dd2aa45a3b55480c1bec226ce7..208c13b33a08b865bfcc28b98d3570e2871e9e93 100644
--- a/io_scene_3ds/__init__.py
+++ b/io_scene_3ds/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Autodesk 3DS format",
     "author": "Bob Holcomb, Campbell Barton",
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "Import-Export 3DS, meshes, uvs, materials, textures, "
                    "cameras & lamps",
@@ -44,12 +44,15 @@ from bpy.props import StringProperty, FloatProperty, BoolProperty, EnumProperty
 
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  axis_conversion,
                                  )
 
 
-class Import3DS(bpy.types.Operator, ImportHelper, OrientationHelper):
+IO3DSOrientationHelper = orientation_helper_factory("IO3DSOrientationHelper", axis_forward='Y', axis_up='Z')
+
+
+class Import3DS(bpy.types.Operator, ImportHelper, IO3DSOrientationHelper):
     """Import from 3DS file format (.3ds)"""
     bl_idname = "import_scene.autodesk_3ds"
     bl_label = 'Import 3DS'
@@ -95,7 +98,7 @@ class Import3DS(bpy.types.Operator, ImportHelper, OrientationHelper):
         return import_3ds.load(self, context, **keywords)
 
 
-class Export3DS(bpy.types.Operator, ExportHelper, OrientationHelper):
+class Export3DS(bpy.types.Operator, ExportHelper, IO3DSOrientationHelper):
     """Export to 3DS file format (.3ds)"""
     bl_idname = "export_scene.autodesk_3ds"
     bl_label = 'Export 3DS'
diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index 6b6f39e47beb1feee4188b4b4af16790cd77ef00..bff1c4788d60ffa87bdf35d18d389221bb01b625 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
     "name": "FBX format",
     "author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
     "version": (3, 2, 1),
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "FBX IO meshes, UV's, vertex colors, materials, "
                    "textures, cameras, lamps and actions",
@@ -53,13 +53,16 @@ from bpy.props import (StringProperty,
 
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  path_reference_mode,
                                  axis_conversion,
                                  )
 
 
-class ImportFBX(bpy.types.Operator, ImportHelper, OrientationHelper):
+IOFBXOrientationHelper = orientation_helper_factory("IOFBXOrientationHelper", axis_forward='-Z', axis_up='Y')
+
+
+class ImportFBX(bpy.types.Operator, ImportHelper, IOFBXOrientationHelper):
     """Load a FBX file"""
     bl_idname = "import_scene.fbx"
     bl_label = "Import FBX"
@@ -200,7 +203,7 @@ class ImportFBX(bpy.types.Operator, ImportHelper, OrientationHelper):
         return import_fbx.load(self, context, **keywords)
 
 
-class ExportFBX(bpy.types.Operator, ExportHelper, OrientationHelper):
+class ExportFBX(bpy.types.Operator, ExportHelper, IOFBXOrientationHelper):
     """Write a FBX file"""
     bl_idname = "export_scene.fbx"
     bl_label = "Export FBX"
diff --git a/io_scene_obj/__init__.py b/io_scene_obj/__init__.py
index 4791b26a45fe5d3b28d84660575b4626a1ccf2d1..80d2fcf9af2b9c8bfd1a39b5dd5b1537e8a0fea9 100644
--- a/io_scene_obj/__init__.py
+++ b/io_scene_obj/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
     "name": "Wavefront OBJ format",
     "author": "Campbell Barton, Bastien Montagne",
     "version": (2, 1, 0),
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "Import-Export OBJ, Import OBJ mesh, UV's, "
                    "materials and textures",
@@ -48,13 +48,16 @@ from bpy.props import (BoolProperty,
                        )
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  path_reference_mode,
                                  axis_conversion,
                                  )
 
 
-class ImportOBJ(bpy.types.Operator, ImportHelper, OrientationHelper):
+IOOBJOrientationHelper = orientation_helper_factory("IOOBJOrientationHelper", axis_forward='-Z', axis_up='Y')
+
+
+class ImportOBJ(bpy.types.Operator, ImportHelper, IOOBJOrientationHelper):
     """Load a Wavefront OBJ File"""
     bl_idname = "import_scene.obj"
     bl_label = "Import OBJ"
@@ -170,7 +173,7 @@ class ImportOBJ(bpy.types.Operator, ImportHelper, OrientationHelper):
         layout.prop(self, "use_image_search")
 
 
-class ExportOBJ(bpy.types.Operator, ExportHelper, OrientationHelper):
+class ExportOBJ(bpy.types.Operator, ExportHelper, IOOBJOrientationHelper):
     """Save a Wavefront OBJ File"""
 
     bl_idname = "export_scene.obj"
diff --git a/io_scene_vrml2/__init__.py b/io_scene_vrml2/__init__.py
index 594833c791a2b67ea829865ae0d9af8fd8b16e7c..5ec34567f76561dac551a95f71366fde510ef4c8 100644
--- a/io_scene_vrml2/__init__.py
+++ b/io_scene_vrml2/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "VRML2 (Virtual Reality Modeling Language)",
     "author": "Campbell Barton",
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Export",
     "description": "Exports mesh objects to VRML2, supporting vertex and material colors",
     "warning": "",
@@ -45,12 +45,16 @@ from bpy.props import (CollectionProperty,
                        FloatProperty,
                        )
 from bpy_extras.io_utils import (ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  path_reference_mode,
                                  axis_conversion,
                                  )
 
-class ExportVRML(bpy.types.Operator, ExportHelper, OrientationHelper):
+
+ExportVRMLOrientationHelper = orientation_helper_factory("ExportVRMLOrientationHelper", axis_forward='Z', axis_up='Y')
+
+
+class ExportVRML(bpy.types.Operator, ExportHelper, ExportVRMLOrientationHelper):
     """Export mesh objects as a VRML2, colors and texture coordinates"""
     bl_idname = "export_scene.vrml2"
     bl_label = "Export VRML2"
diff --git a/io_scene_x3d/__init__.py b/io_scene_x3d/__init__.py
index e12dedc779484203099d8f94b314a7e6e9dde976..4d66eda3a480b852ed08f6fdd027f5957906cdea 100644
--- a/io_scene_x3d/__init__.py
+++ b/io_scene_x3d/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Web3D X3D/VRML2 format",
     "author": "Campbell Barton, Bart",
-    "blender": (2, 73, 0),
+    "blender": (2, 74, 0),
     "location": "File > Import-Export",
     "description": "Import-Export X3D, Import VRML2",
     "warning": "",
@@ -41,13 +41,16 @@ import bpy
 from bpy.props import StringProperty, BoolProperty, EnumProperty, FloatProperty
 from bpy_extras.io_utils import (ImportHelper,
                                  ExportHelper,
-                                 OrientationHelper,
+                                 orientation_helper_factory,
                                  axis_conversion,
                                  path_reference_mode,
                                  )
 
 
-class ImportX3D(bpy.types.Operator, ImportHelper, OrientationHelper):
+IOX3DOrientationHelper = orientation_helper_factory("IOX3DOrientationHelper", axis_forward='Z', axis_up='Y')
+
+
+class ImportX3D(bpy.types.Operator, ImportHelper, IOX3DOrientationHelper):
     """Import an X3D or VRML2 file"""
     bl_idname = "import_scene.x3d"
     bl_label = "Import X3D/VRML2"
@@ -71,7 +74,7 @@ class ImportX3D(bpy.types.Operator, ImportHelper, OrientationHelper):
         return import_x3d.load(self, context, **keywords)
 
 
-class ExportX3D(bpy.types.Operator, ExportHelper, OrientationHelper):
+class ExportX3D(bpy.types.Operator, ExportHelper, IOX3DOrientationHelper):
     """Export selection to Extensible 3D file (.x3d)"""
     bl_idname = "export_scene.x3d"
     bl_label = 'Export X3D'