diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index 1ecb520a6300031025caa0d44428eb4ca8e2ad51..1ef7937ddfc8300174bfe550dec2c1765cd62fbd 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -20,16 +20,17 @@ bl_info = {
     "name": "3D-Coat Applink",
     "author": "Kalle-Samuli Riihikoski (haikalle)",
     "version": (1, 61),
-    "blender": (2, 5, 4),
+    "blender": (2, 5, 6),
     "api": 31667,
     "location": "Scene -> 3D-Coat Applink",
     "description": "Transfer data between 3D-Coat/Blender",
     "warning": "",
-    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/"\
+    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/" \
         "Scripts/Import-Export/3dcoat_applink",
     "tracker_url": "https://projects.blender.org/tracker/?"\
         "func=detail&aid=24446",
-    "category": "Import-Export"}
+    "category": "Import/Export"}
+
 
 
 if "bpy" in locals():
@@ -43,15 +44,13 @@ else:
 import bpy
 from bpy.props import *
 
-
+    
 def register():
 
     bpy.coat3D = dict()
     bpy.coat3D['active_coat'] = ''
     bpy.coat3D['status'] = 0
-    bpy.coat3D['was'] = ''
-    bpy.coat3D['exchange'] = ''
-    bpy.coat3D['export_off'] = 0
+    bpy.coat3D['kuva'] = 1
     
     class coat3D(bpy.types.IDPropertyGroup):
         pass
@@ -72,6 +71,12 @@ def register():
         default= ""
     )
 
+    coat3D.objectdir = StringProperty(
+        name="ObjectPath",
+        subtype="FILE_PATH",
+        default= ""
+    )
+
 
     class coat3D(bpy.types.IDPropertyGroup):
         pass
@@ -82,12 +87,6 @@ def register():
         description= "Applink variables"
     )
 
-    coat3D.objectdir = StringProperty(
-        name="ObjectPath",
-        subtype="FILE_PATH",
-        default= ""
-    )
-
     coat3D.exchangedir = StringProperty(
         name="FilePath",
         subtype="DIR_PATH",
diff --git a/io_coat3D/coat.py b/io_coat3D/coat.py
index bc462dfc6ffa9ce86f00001dcfdd494a7847cacc..e8537be77fd25f49bf16587c4f25c79e6cf1a791 100644
--- a/io_coat3D/coat.py
+++ b/io_coat3D/coat.py
@@ -26,6 +26,11 @@ from io_coat3D import tex
 import os
 import linecache
 
+bpy.coat3D = dict()
+bpy.coat3D['active_coat'] = ''
+bpy.coat3D['status'] = 0
+
+
 class ObjectButtonsPanel():
     bl_space_type = 'PROPERTIES'
     bl_region_type = 'WINDOW'
@@ -44,12 +49,13 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
         mat_list = []
         import_no = 0
         coat = bpy.coat3D
-        coat3D = bpy.context.scene.coat3D               
+        coat3D = bpy.context.scene.coat3D
+        if(bpy.context.scene.objects.active):
+            coa = bpy.context.scene.objects.active.coat3D
         
         if(os.path.isdir(coat3D.exchangedir)):
             foldder = coat3D.exchangedir
             if(foldder.rfind('Exchange') >= 0):
-                coat['exchange'] = foldder
                 coat['status'] = 1
             else:
                 coat['status'] = 0
@@ -90,26 +96,12 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
         colR.prop(coat3D,"smooth_on")
         colR.prop(coat3D,"importtextures")
         row = layout.row()
-        colL = row.column()
-        colR = row.column()
-        colL.operator("deltex",text="Del Tex")
-        if(bpy.context.active_object):
-            if(bpy.context.active_object.coat3D.coatpath and os.path.isfile(bpy.context.active_object.coat3D.coatpath)):
-                colR.active = True
-                if(coat['active_coat'] == bpy.context.active_object.coat3D.coatpath):
-                    colR.operator("load3b", text="Active 3b")
-                else:
-                    colR.operator("load3b", text="Load 3b")
-            else:
-                colR.active = False
-                colR.operator("no3b",text="No 3b")
-        else:
-            colR.active = False
-            colR.operator("no3b",text="")
-        row = layout.row()
-        row.label(text="Object Folder:")
-        row = layout.row()
-        row.prop(coat3D,"objectdir",text="")                 
+        
+        if(bpy.context.scene.objects.active):
+            row.label(text="%s Path:"%(bpy.context.scene.objects.active.name))
+            row = layout.row()
+            row.prop(coa,"objectdir",text="")
+                    
         row = layout.row()
         
         if(coat['status'] == 1):
@@ -140,7 +132,7 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
 
                 for palikka in bpy.context.scene.objects:
                     if(palikka.type == 'MESH'):
-                        if(palikka.coat3D.objpath == export):
+                        if(palikka.coat3D.objectdir == export):
                             import_no = 1
                             target = palikka
                             break
@@ -151,10 +143,10 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
                 else:
                     bpy.ops.import_scene.obj(filepath=obj_path)
                     new_obj = scene.objects[0]
+                    scene.objects[0].coat3D.objectdir = export
                 os.remove(Blender_export)
                 
                 bpy.context.scene.objects.active = new_obj
-                bpy.context.active_object.coat3D.objpath = obj_path
 
                 if(coat3D.smooth_on):
                     bpy.ops.object.shade_smooth()
@@ -174,6 +166,10 @@ class SCENE_PT_Borgleader(ObjectButtonsPanel,bpy.types.Panel):
         row = layout.row()
         row.prop(coat3D,"exchangedir",text="")
         row = layout.row()
+        colL = row.column()
+        colR = row.column()
+        colL.operator("deltex",text="Del Tex")
+        row = layout.row()
         row.label(text="Author: haikalle@gmail.com")
 
 
@@ -186,11 +182,11 @@ class SCENE_OT_export(bpy.types.Operator):
     def invoke(self, context, event):
         checkname = ''
         coat3D = bpy.context.scene.coat3D
-        coat = bpy.coat3D
         scene = context.scene
         coat3D.export_on = False
         activeobj = bpy.context.active_object.name
         obj = scene.objects[activeobj]
+        coa = bpy.context.scene.objects.active.coat3D
 
         importfile = coat3D.exchangedir
         texturefile = coat3D.exchangedir
@@ -199,26 +195,36 @@ class SCENE_OT_export(bpy.types.Operator):
         if(os.path.isfile(texturefile)):
                 os.remove(texturefile)
         
-        checkname = coat3D.objectdir
-            
-        checkname += ('%s.obj'%(activeobj))
+        checkname = coa.objectdir
+        
+        if(coa.objectdir[-4:] != '.obj'):
+            checkname += ('%s.obj'%(activeobj))
 
         if(not(os.path.isfile(checkname)) or coat3D.exportover):
-            
+            if(coat3D.export_pos):
 
-            bpy.ops.export_scene.obj(filepath=checkname,use_selection=True,
-            use_modifiers=coat3D.exportmod,use_blen_objects=False, group_by_material= True,
-            use_materials = False,keep_vertex_order = True)
-            coat3D.export_on = True
-        
-        if(not(coat3D.exportover)):
-            coat3D.loca = obj.location
-            coat3D.rota = obj.rotation_euler
-            coat3D.scal = obj.scale
-            coat['export_off'] = 1
-        else:
-            coat['export_off'] = 0
-           
+                bpy.ops.export_scene.obj(filepath=checkname,use_selection=True,
+                use_modifiers=coat3D.exportmod,use_blen_objects=False, group_by_material= True,
+                use_materials = False,keep_vertex_order = True)
+
+                coat3D.export_on = True
+            else:
+                coat3D.loca = obj.location
+                coat3D.rota = obj.rotation_euler
+                coat3D.scal = obj.scale
+                obj.location = (0,0,0)
+                obj.rotation_euler = (0,0,0)
+                obj.scale = (1,1,1)
+
+                bpy.ops.export_scene.obj(filepath=checkname,use_selection=True,
+                use_modifiers=coat3D.exportmod,use_blen_objects=False, group_by_material= True,
+                use_materials = False,keep_vertex_order = True)
+
+                obj.location = coat3D.loca
+                obj.rotation_euler = coat3D.rota
+                obj.scale = coat3D.scal
+                coat3D.export_on = True
+                    
 
 
         if(coat3D.exportfile == False):
@@ -227,7 +233,7 @@ class SCENE_OT_export(bpy.types.Operator):
             file.write("\n%s"%(checkname))
             file.write("\n[%s]"%(coat3D.type))
             file.close()
-        bpy.context.active_object.coat3D.objpath = coat3D.objectdir
+        coa.objectdir = checkname
 
         return('FINISHED')
 
@@ -242,12 +248,12 @@ class SCENE_OT_import(bpy.types.Operator):
         coat3D = bpy.context.scene.coat3D
         coat = bpy.coat3D
         activeobj = bpy.context.active_object.name
-        pathname = coat3D.objectdir + activeobj + ".obj"
         mat_list = []
         scene.objects[activeobj].select = True
         objekti = scene.objects[activeobj]
         coat3D.loca = objekti.location
         coat3D.rota = objekti.rotation_euler
+        coa = bpy.context.scene.objects.active.coat3D
 
         exportfile = coat3D.exchangedir
         exportfile += ('%sexport.txt'%(os.sep))
@@ -269,14 +275,14 @@ class SCENE_OT_import(bpy.types.Operator):
             act_mat_index = objekti.active_material_index
 
 
-        if(coat3D.importmesh and os.path.isfile(pathname)):
-            mtl = pathname
+        if(coat3D.importmesh and os.path.isfile(coa.objectdir)):
+            mtl = coa.objectdir
             mtl = mtl.replace('.obj','.mtl')
             if(os.path.isfile(mtl)):
                 os.remove(mtl)
 
             
-            bpy.ops.import_scene.obj(filepath=pathname)
+            bpy.ops.import_scene.obj(filepath=coa.objectdir)
             obj_proxy = scene.objects[0]
             proxy_mat = obj_proxy.material_slots[0].material
             obj_proxy.data.materials.pop(0)
@@ -338,7 +344,7 @@ class SCENE_OT_import(bpy.types.Operator):
             else:
                 bpy.ops.object.shade_flat()
                 
-        if(coat3D.importmesh and not(os.path.isfile(pathname))):
+        if(coat3D.importmesh and not(os.path.isfile(coa.objectdir))):
             coat3D.importmesh = False
 
         if(mat_list and coat3D.importmesh):
@@ -364,12 +370,6 @@ class SCENE_OT_import(bpy.types.Operator):
         if(coat3D.importtextures):
                         export = ''
                         tex.gettex(mat_list,objekti,scene,export)
-
-        if(coat['export_off']):
-            objekti.location = coat3D.loca
-            objekti.rotation_euler = coat3D.rota
-            objekti.scale = coat3D.scal
-            coat['export_off'] = 0
         
         return('FINISHED')
 
@@ -393,22 +393,9 @@ class SCENE_OT_load3b(bpy.types.Operator):
         file.write("\n%s"%(coat_path))
         file.write("\n[3B]")
         file.close()
-
-        
         coat['active_coat'] = coat_path
 
 
-        return('FINISHED')
-
-class SCENE_OT_no3b(bpy.types.Operator):
-    bl_idname = "no3b"
-    bl_label = "Loads 3b linked into object"
-    bl_description = "Loads 3b linked into object"
-
-    
-    def invoke(self, context, event):
-        scene = context.scene
-    
         return('FINISHED')
 
 class SCENE_OT_deltex(bpy.types.Operator):
@@ -419,9 +406,10 @@ class SCENE_OT_deltex(bpy.types.Operator):
     
     def invoke(self, context, event):
         coat3D = bpy.context.scene.coat3D
+        coa = bpy.context.scene.objects.active.coat3D
         scene = context.scene
-        nimi = tex.objname(coat3D.objectdir)
-        osoite = os.path.dirname(coat3D.objectdir) + os.sep
+        nimi = tex.objname(coa.objectdir)
+        osoite = os.path.dirname(coa.objectdir) + os.sep
         just_nimi = tex.justname(nimi)
         just_nimi += '_'
 
diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py
index ebf93daed50373ce55a323d3037257bc65478ace..81363ccaf93db6eb7ae7f4eeeb69a03ba4fbb71e 100644
--- a/io_coat3D/tex.py
+++ b/io_coat3D/tex.py
@@ -37,6 +37,7 @@ def find_index(objekti):
 def gettex(mat_list, objekti, scene,export):
 
     coat3D = bpy.context.scene.coat3D
+    coa = bpy.context.scene.objects.active.coat3D
     
     if(bpy.context.scene.render.engine == 'VRAY_RENDER' or bpy.context.scene.render.engine == 'VRAY_RENDER_PREVIEW'):
         vray = True
@@ -72,10 +73,8 @@ def gettex(mat_list, objekti, scene,export):
                     if(tex_slot.texture.type == 'IMAGE'):
                                                 tex_slot.texture.image.reload()
     else:
-        activeobj = bpy.context.active_object.name
-        pathname = coat3D.objectdir + activeobj + ".obj"
-        nimi = objname(pathname)
-        osoite = os.path.dirname(pathname) + os.sep
+        nimi = objname(coa.objectdir)
+        osoite = os.path.dirname(coa.objectdir) + os.sep
     just_nimi = justname(nimi)
     just_nimi += '_'
     just_nimi_len = len(just_nimi)
@@ -220,6 +219,7 @@ def gettex(mat_list, objekti, scene,export):
             else:
                 bpy.data.textures[name_tex].use_normal_map = True
                 objekti.active_material.texture_slots[index].normal_map_space = 'TANGENT'
+
             
 
         elif(useold != ''):