diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index 0a1bd9b9aa3fa092d1e63cb11985bae0a74d278a..9a2e4bd0d31be53820a2e20a071c852b8df488f8 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -143,10 +143,7 @@ def set_working_folders():
     platform = os.sys.platform
     coat3D = bpy.context.scene.coat3D
     if(platform == 'win32'):
-        if(bpy.data.filepath == ''):
-            folder_objects = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects'
-        else:
-            folder_objects  = os.path.dirname(bpy.data.filepath) + os.sep + '3DCApplink'
+        folder_objects = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects'
         if(not(os.path.isdir(folder_objects))):
             os.makedirs(folder_objects)
     else:
@@ -316,6 +313,7 @@ class SCENE_OT_export(bpy.types.Operator):
                                 material.material.node_tree.nodes.remove(node)
 
 
+
         return {'FINISHED'}
 
 class SCENE_OT_import(bpy.types.Operator):
@@ -339,6 +337,10 @@ class SCENE_OT_import(bpy.types.Operator):
         coat3D.exchangedir = set_exchange_folder()
 
         texturelist = make_texture_list(coat3D.exchangedir)
+        for texturepath in texturelist:
+            for image in bpy.data.images:
+                if(image.filepath == texturepath[3]):
+                    bpy.data.images.remove(image)
 
 
         Blender_folder = ("%s%sBlender"%(coat3D.exchangedir,os.sep))
@@ -376,6 +378,8 @@ class SCENE_OT_import(bpy.types.Operator):
 
             old_materials = bpy.data.materials.keys()
             old_objects = bpy.data.objects.keys()
+            old_images = bpy.data.images.keys()
+            image_list = []
             object_list = []
             import_list = []
             mesh_del_list = []
@@ -397,11 +401,15 @@ class SCENE_OT_import(bpy.types.Operator):
 
                 new_materials = bpy.data.materials.keys()
                 new_objects = bpy.data.objects.keys()
+                new_images = bpy.data.images.keys()
 
                 diff_mat = [i for i in new_materials if i not in old_materials]
                 diff_objects = [i for i in new_objects if i not in old_objects]
+                diff_images = [i for i in new_images if i not in old_images]
                 for c_index in diff_mat:
                     bpy.data.materials.remove(bpy.data.materials[c_index])
+                for i in diff_images:
+                    bpy.data.images.remove(bpy.data.images[i])
 
             #The main Applink Object Loop
 
diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py
index 1c8c7db198e248b33b23ee83639d70f74f93853b..b682c8df60147cebcd66c4cf07f0f33aba4b4d5c 100644
--- a/io_coat3D/tex.py
+++ b/io_coat3D/tex.py
@@ -41,13 +41,8 @@ def readtexturefolder(objekti,is_new): #read textures from texture file
     texcoat['nmap'] = []
     texcoat['disp'] = []
 
-    if(is_new == True):
-        files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address))
-    else:
-        if(bpy.data.filepath == ''):
-            files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address))
-        else:
-            files_dir = os.path.dirname(bpy.data.filepath) + os.sep + '3DCApplink'
+
+    files_dir = os.path.dirname(os.path.abspath(objekti.coat3D.applink_address))
     files = os.listdir(files_dir)
     materiaali_muutos = objekti.active_material.name
     uusin_mat = materiaali_muutos.replace('Material.','Material_')
@@ -58,7 +53,6 @@ def readtexturefolder(objekti,is_new): #read textures from texture file
             tex_name = listed[-2]
             texcoat[tex_name].append(koko_osoite)
 
-
     createnodes(objekti, texcoat)
     
 def checkmaterial(mat_list, objekti): #check how many materials object has