diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index f3746ce783f7808b7c13d808e58d3ff57c0ccec1..69fcb8b61368c732274b2fbe0ebd08096e4e46ad 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -30,28 +30,55 @@ bl_info = {
 
 if "bpy" in locals():
     from importlib import reload
+    #alphabetically sorted all add-on modules since reload only happens from __init__.
+    # modules with _bg are used for background computations in separate blender instance and that's why they don't need reload.
 
+    append_link = reload(append_link)
     asset_inspector = reload(asset_inspector)
-    search = reload(search)
-    download = reload(download)
-    upload = reload(upload)
-    ratings = reload(ratings)
     autothumb = reload(autothumb)
-    ui = reload(ui)
-    icons = reload(icons)
     bg_blender = reload(bg_blender)
-    paths = reload(paths)
-    utils = reload(utils)
-    overrides = reload(overrides)
-    ui_panels = reload(ui_panels)
-    categories = reload(categories)
     bkit_oauth = reload(bkit_oauth)
-    tasks_queue = reload(tasks_queue)
+    categories = reload(categories)
+    colors = reload(colors)
+    download = reload(download)
+    icons = reload(icons)
+    image_utils = reload(image_utils)
+    oauth = reload(oauth)
+    overrides = reload(overrides)
+    paths = reload(paths)
+    ratings = reload(ratings)
     resolutions = reload(resolutions)
+    search = reload(search)
+    tasks_queue = reload(tasks_queue)
+    ui = reload(ui)
+    ui_bgl = reload(ui_bgl)
+    ui_panels = reload(ui_panels)
+    upload = reload(upload)
+    utils = reload(utils)
 else:
-    from blenderkit import asset_inspector, search, download, upload, ratings, autothumb, ui, icons, bg_blender, paths, \
-        utils, \
-        overrides, ui_panels, categories, bkit_oauth, tasks_queue, resolutions
+    from blenderkit import append_link
+    from blenderkit import asset_inspector
+    from blenderkit import autothumb
+    from blenderkit import bg_blender
+    from blenderkit import bkit_oauth
+    from blenderkit import categories
+    from blenderkit import colors
+    from blenderkit import download
+    from blenderkit import icons
+    from blenderkit import image_utils
+    from blenderkit import oauth
+    from blenderkit import overrides
+    from blenderkit import paths
+    from blenderkit import ratings
+    from blenderkit import resolutions
+    from blenderkit import search
+    from blenderkit import tasks_queue
+    from blenderkit import ui
+    from blenderkit import ui_bgl
+    from blenderkit import ui_panels
+    from blenderkit import upload
+    from blenderkit import utils
+
 
 import os
 import math
diff --git a/blenderkit/search.py b/blenderkit/search.py
index d1df071f3381e83b1de5490a06a0c6c4ef33b6ef..880884ecd03a652b467e2b6dd796e04774895550 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -441,7 +441,7 @@ def load_previews():
 
             # if os.path.exists(tpath):  # sometimes we are unlucky...
             img = bpy.data.images.get(iname)
-            if img is None:
+            if img is None and os.path.exists(tpath):
                 img = bpy.data.images.load(tpath)
                 img.name = iname
             elif img.filepath != tpath: