diff --git a/io_export_directx_x.py b/io_export_directx_x.py
index 7b36afa9e0d607a2495e48af6f904785331197bb..eaa4cbe2ab90fe796153f04e8448c0808729ce47 100644
--- a/io_export_directx_x.py
+++ b/io_export_directx_x.py
@@ -199,7 +199,7 @@ def GetMaterialTexture(Material):
         #Create a list of Textures that have type "IMAGE"
         ImageTextures = [Material.texture_slots[TextureSlot].texture for TextureSlot in Material.texture_slots.keys() if Material.texture_slots[TextureSlot].texture.type == "IMAGE"]
         #Refine a new list with only image textures that have a file source
-        ImageFiles = [os.path.basename(Texture.image.filepath[2:]) for Texture in ImageTextures if Texture.image.source == "FILE"]
+        ImageFiles = [bpy.path.basename(Texture.image.filepath) for Texture in ImageTextures if getattr(Texture.image, "source", "") == "FILE"]
         if ImageFiles:
             return ImageFiles[0]
     return None
diff --git a/io_scene_3ds/export_3ds.py b/io_scene_3ds/export_3ds.py
index 8264c18d5cfff3045d396b10d735de780bb62cbc..d25672ef5d27db0ee1fc3ea6cfd78800937e2e1f 100644
--- a/io_scene_3ds/export_3ds.py
+++ b/io_scene_3ds/export_3ds.py
@@ -448,7 +448,7 @@ def make_material_texture_chunk(id, images):
 
     def add_image(img):
         import os
-        filename = os.path.basename(image.filepath)
+        filename = bpy.path.basename(image.filepath)
         mat_sub_file = _3ds_chunk(MATMAPFILE)
         mat_sub_file.add_variable("mapfile", _3ds_string(sane_name(filename)))
         mat_sub.add_subchunk(mat_sub_file)
diff --git a/io_scene_fbx/export_fbx.py b/io_scene_fbx/export_fbx.py
index 7f0246e7fd8706cc07743766da9156aabfde8004..8e34d45dec65d24a3f995ba2e44ae18d5f2f957d 100644
--- a/io_scene_fbx/export_fbx.py
+++ b/io_scene_fbx/export_fbx.py
@@ -1090,7 +1090,7 @@ def save_single(operator, scene, filepath="",
             Property: "Height", "int", "",0''')
         if tex:
             fname_rel = bpy_extras.io_utils.path_reference(tex.filepath, base_src, base_dst, path_mode, "", copy_set)
-            fname_strip = os.path.basename(fname_rel)
+            fname_strip = bpy.path.basename(fname_rel)
         else:
             fname_strip = fname_rel = ""
 
@@ -1149,7 +1149,7 @@ def save_single(operator, scene, filepath="",
 
         if tex:
             fname_rel = bpy_extras.io_utils.path_reference(tex.filepath, base_src, base_dst, path_mode, "", copy_set)
-            fname_strip = os.path.basename(fname_rel)
+            fname_strip = bpy.path.basename(bpy.path.abspath(fname_rel))
         else:
             fname_strip = fname_rel = ""
 
diff --git a/io_scene_map/export_map.py b/io_scene_map/export_map.py
index 0ed01c8daa5383cb50841cdf9d817fb18947ae45..8feb2cc83590a1454d81bb683e0bb55e4cde11be 100644
--- a/io_scene_map/export_map.py
+++ b/io_scene_map/export_map.py
@@ -75,7 +75,7 @@ def write_cube2brush(file, faces):
             image = uf.image if uf else None
 
             if image:
-                file.write(os.path.splitext(os.path.basename(image.filepath))[0])
+                file.write(os.path.splitext(bpy.path.basename(image.filepath))[0])
             else:
                 file.write(PREF_NULL_TEX)
 
@@ -112,7 +112,7 @@ def write_face2brush(file, face):
         image = uf.image if uf else None
 
         if image:
-            image_text = os.path.splitext(os.path.basename(image.filepath))[0]
+            image_text = os.path.splitext(bpy.path.basename(image.filepath))[0]
 
     # reuse face vertices
     _v = face.id_data.vertices  # XXX25
diff --git a/io_scene_x3d/export_x3d.py b/io_scene_x3d/export_x3d.py
index 823b8ff462ebe011d853d30018cd631c92ea1dc1..a9e87587aa5c97b3681de45241ded348c5921f74 100644
--- a/io_scene_x3d/export_x3d.py
+++ b/io_scene_x3d/export_x3d.py
@@ -1084,7 +1084,7 @@ def export(file,
             filepath = image.filepath
             filepath_full = bpy.path.abspath(filepath)
             filepath_ref = bpy_extras.io_utils.path_reference(filepath_full, base_src, base_dst, path_mode, "textures", copy_set)
-            filepath_base = os.path.basename(filepath_ref)
+            filepath_base = os.path.basename(filepath_full)
 
             images = [
                 filepath_base,
@@ -1150,7 +1150,7 @@ def export(file,
             if tex.type == 'IMAGE' and tex.image:
                 namemat = tex.name
                 pic = tex.image
-                basename = os.path.basename(bpy.path.abspath(pic.filepath))
+                basename = bpy.path.basename(pic.filepath)
 
                 if namemat == 'back':
                     fw(ident_step + 'backUrl="%s"\n' % basename)