diff --git a/blenderkit/search.py b/blenderkit/search.py
index f1230eb79a5f6e813a8a49da7b437971d88166d6..b681134cb7608d0912e4769d3104d778014951d6 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -140,7 +140,6 @@ def update_assets_data():  # updates assets data on scene load.
         for bkdict in dicts:
 
             d = s.get(bkdict)
-            print(d)
             if not d:
                 continue;
 
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 130e66ab5f51471782c934a2dbbf6cadec7e052a..56dd1feefe724b3588a7ee535ee1aef2dfc42e7d 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -1820,7 +1820,6 @@ class UndoWithContext(bpy.types.Operator):
         return {'FINISHED'}
 
 
-
 class RunAssetBarWithContext(bpy.types.Operator):
     """Regenerate cobweb"""
     bl_idname = "object.run_assetbar_fix_context"
@@ -1833,7 +1832,8 @@ class RunAssetBarWithContext(bpy.types.Operator):
 
     def execute(self, context):
         C_dict = utils.get_fake_context(context)
-        bpy.ops.view3d.blenderkit_asset_bar(C_dict, 'INVOKE_REGION_WIN', keep_running=True, do_search=False)
+        if C_dict.get('window'): # no 3d view, no asset bar.
+            bpy.ops.view3d.blenderkit_asset_bar(C_dict, 'INVOKE_REGION_WIN', keep_running=True, do_search=False)
         return {'FINISHED'}
 
 
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index 8ddd7e7d0e1c8f938a2366522ae3c84287de7dd0..d03140b77fcc71ff2532d8f8fd105bc349f1aef3 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -656,14 +656,17 @@ def get_fake_context(context, area_type='VIEW_3D'):
 
     try:
         context = context.copy()
-    except:
+    except Exception as e:
+        print(e)
+        print('BlenderKit: context.copy() failed. probably a colliding addon.')
         context = {}
 
     if context.get('area') is None or context.get('area').type != area_type:
         w, a, r = get_largest_area(area_type=area_type)
-
-        override = {'window': w, 'screen': w.screen, 'area': a, 'region': r}
-        C_dict.update(override)
+        if w:
+            #sometimes there is no area of the requested type. Let's face it, some people use Blender without 3d view.
+            override = {'window': w, 'screen': w.screen, 'area': a, 'region': r}
+            C_dict.update(override)
         # print(w,a,r)
     return C_dict