diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index ceca7207edb3b38ff17845cf66e1d14e7a9f961a..d5ad436d4613a98284ec33b56ee8237dddb78404 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -198,6 +198,12 @@ thumbnail_resolutions = (
     ('2048', '2048', ''),
 )
 
+def udate_down_up(self, context):
+    """Perform a search if results are empty."""
+    s = context.scene
+    props = s.blenderkitUI
+    if s['search results'] == None and props.down_up == 'SEARCH':
+        search.search()
 
 def switch_search_results(self, context):
     s = bpy.context.scene
@@ -225,8 +231,8 @@ def switch_search_results(self, context):
                 'Switch to paint or sculpt mode to search in BlenderKit brushes.')
 
     search.load_previews()
-    if s['search results'] == None:
-        search.search_update(self, context)
+    if s['search results'] == None and props.down_up == 'SEARCH':
+        search.search()
 
 
 
@@ -287,6 +293,7 @@ class BlenderKitUIProps(PropertyGroup):
         ),
         description="BLenderKit",
         default="SEARCH",
+        update = udate_down_up
     )
     asset_type: EnumProperty(
         name="BlenderKit Active Asset Type",
diff --git a/blenderkit/asset_inspector.py b/blenderkit/asset_inspector.py
index 0e26479f3f7fe467714d41f0c3c78f31fd66bef0..0975acd88fe629cee89bb56ed2ced1dfb5407e84 100644
--- a/blenderkit/asset_inspector.py
+++ b/blenderkit/asset_inspector.py
@@ -363,6 +363,12 @@ def get_autotags():
         props.texture_resolution_max = 0
         props.texture_resolution_min = 0
         check_material(props, mat)
+    elif ui.asset_type == 'HDR':
+        # reset some properties here, because they might not get re-filled at all when they aren't needed anymore.
+
+        hdr = utils.get_active_asset()
+        props = hdr.blenderkit
+        props.texture_resolution_max = max(hdr.size[0],hdr.size[1])
 
 
 class AutoFillTags(bpy.types.Operator):
diff --git a/blenderkit/categories.py b/blenderkit/categories.py
index abdfbe48aef58e287d2f35813431b8b592a5171f..cb598709ba14971ddc8c8a24fefbb9237859e47b 100644
--- a/blenderkit/categories.py
+++ b/blenderkit/categories.py
@@ -100,16 +100,16 @@ def get_category(categories, cat_path=()):
                     return (c)
                 break;
 
-def get_upload_asset_type(self):
-    typemapper = {
-        bpy.types.Object.blenderkit: 'model',
-        bpy.types.Scene.blenderkit: 'scene',
-        bpy.types.Image.blenderkit: 'hdr',
-        bpy.types.Material.blenderkit: 'material',
-        bpy.types.Brush.blenderkit: 'brush'
-    }
-    asset_type = typemapper[type(self)]
-    return asset_type
+# def get_upload_asset_type(self):
+#     typemapper = {
+#         bpy.types.Object.blenderkit: 'model',
+#         bpy.types.Scene.blenderkit: 'scene',
+#         bpy.types.Image.blenderkit: 'hdr',
+#         bpy.types.Material.blenderkit: 'material',
+#         bpy.types.Brush.blenderkit: 'brush'
+#     }
+#     asset_type = typemapper[type(self)]
+#     return asset_type
 
 
 def get_category_enums(self, context):
diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py
index a2ade101e9b6c01730ab4c02029d5253ef02220e..2ec1f46258b486f2d2db02ab299ce9461a67ccca 100644
--- a/blenderkit/ratings.py
+++ b/blenderkit/ratings.py
@@ -162,10 +162,9 @@ def upload_rating(asset):
         ratings = (('quality', bkit_ratings.rating_quality),)
         tasks_queue.add_task((send_rating_to_thread_quality, (url, ratings, headers)), wait=2.5, only_last=True)
     if bkit_ratings.rating_work_hours > 0.1:
-        ratings=(('working_hours', round(bkit_ratings.rating_work_hours, 1)),)
+        ratings = (('working_hours', round(bkit_ratings.rating_work_hours, 1)),)
         tasks_queue.add_task((send_rating_to_thread_work_hours, (url, ratings, headers)), wait=2.5, only_last=True)
 
-
     thread = threading.Thread(target=upload_rating_thread, args=(url, ratings, headers))
     thread.start()
 
@@ -285,6 +284,7 @@ def update_ratings_work_hours_ui(self, context):
         # self.rating_work_hours_ui = '0'
     self.rating_work_hours = float(self.rating_work_hours_ui)
 
+
 def update_ratings_work_hours_ui_1_5(self, context):
     user_preferences = bpy.context.preferences.addons['blenderkit'].preferences
     if user_preferences.api_key == '':
@@ -299,7 +299,6 @@ def update_ratings_work_hours_ui_1_5(self, context):
     self.rating_work_hours = float(self.rating_work_hours_ui_1_5)
 
 
-
 class FastRateMenu(Operator):
     """Fast rating of the assets directly in the asset bar - without need to download assets."""
     bl_idname = "wm.blenderkit_menu_rating_upload"
@@ -313,7 +312,12 @@ class FastRateMenu(Operator):
 
     asset_id: StringProperty(
         name="Asset Base Id",
-        description="Unique name of the asset (hidden)",
+        description="Unique id of the asset (hidden)",
+        default="")
+
+    asset_name: StringProperty(
+        name="Asset Name",
+        description="Name of the asset (hidden)",
         default="")
 
     asset_type: StringProperty(
@@ -380,9 +384,9 @@ class FastRateMenu(Operator):
 
     @classmethod
     def poll(cls, context):
-        scene = bpy.context.scene
-        ui_props = scene.blenderkitUI
-        return ui_props.active_index > -1
+        # scene = bpy.context.scene
+        # ui_props = scene.blenderkitUI
+        return True#ui_props.active_index > -1
 
     def draw(self, context):
         layout = self.layout
@@ -394,11 +398,13 @@ class FastRateMenu(Operator):
         row.prop(self, 'rating_quality_ui', expand=True, icon_only=True, emboss=False)
         col.separator()
         col.prop(self, 'rating_work_hours')
-        row = col.row()
-        if self.asset_type == 'model':
-            row.prop(self, 'rating_work_hours_ui', expand=True, icon_only=False, emboss=True)
-        else:
-            row.prop(self, 'rating_work_hours_ui_1_5', expand=True, icon_only=False, emboss=True)
+        if utils.profile_is_validator():
+            row = layout.row()
+            print(self.asset_type, ' asset type for rating')
+            if self.asset_type == 'model':
+                row.prop(self, 'rating_work_hours_ui', expand=True, icon_only=False, emboss=True)
+            else:
+                row.prop(self, 'rating_work_hours_ui_1_5', expand=True, icon_only=False, emboss=True)
 
     def execute(self, context):
         user_preferences = bpy.context.preferences.addons['blenderkit'].preferences
@@ -433,10 +439,15 @@ class FastRateMenu(Operator):
             asset_data = dict(sr[ui_props.active_index])
             self.asset_id = asset_data['id']
             self.asset_type = asset_data['assetType']
-            self.message = f"Rate asset {asset_data['name']}"
+
+        self.message = f"Rate asset {self.asset_name}"
         wm = context.window_manager
-        return wm.invoke_props_dialog(self)
 
+        if utils.profile_is_validator():
+            #spawn a wider one for validators for the enum buttons
+            return wm.invoke_props_dialog(self, width = 500)
+        else:
+            return wm.invoke_props_dialog(self)
 
 def rating_menu_draw(self, context):
     layout = self.layout
@@ -452,10 +463,12 @@ def rating_menu_draw(self, context):
     layout.label(text='Admin rating Tools:')
     col.operator_context = 'INVOKE_DEFAULT'
 
-    op = col.operator('wm.blenderkit_menu_rating_upload', text='Fast rate')
+    op = col.operator('wm.blenderkit_menu_rating_upload', text='Rate')
     op.asset_id = asset_data['id']
+    op.asset_name = asset_data['name']
     op.asset_type = asset_data['assetType']
 
+
 def register_ratings():
     bpy.utils.register_class(UploadRatingOperator)
     bpy.utils.register_class(FastRateMenu)
diff --git a/blenderkit/thumbnails/rating_ui.png b/blenderkit/thumbnails/rating_ui.png
deleted file mode 100644
index 8d5bbdb57b3f357ed5dfaf368c7c07884d2ba275..0000000000000000000000000000000000000000
Binary files a/blenderkit/thumbnails/rating_ui.png and /dev/null differ
diff --git a/blenderkit/thumbnails/rating_ui_empty.png b/blenderkit/thumbnails/rating_ui_empty.png
deleted file mode 100644
index f734d98c555a8a78ede3f646e5756dc3b1be17d2..0000000000000000000000000000000000000000
Binary files a/blenderkit/thumbnails/rating_ui_empty.png and /dev/null differ
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 91b8397a1dffd7914b58e16cde2b4f3bd8bce715..c130a22e70ce6e09ad602d7f2e63da9a95d17fef 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -32,7 +32,8 @@ if "bpy" in locals():
     tasks_queue = importlib.reload(tasks_queue)
     tasks_queue = importlib.reload(ui_panels)
 else:
-    from blenderkit import paths, ratings, utils, search, upload, ui_bgl, download, bg_blender, colors, tasks_queue, ui_panels
+    from blenderkit import paths, ratings, utils, search, upload, ui_bgl, download, bg_blender, colors, tasks_queue, \
+        ui_panels
 
 import bpy
 
@@ -271,80 +272,6 @@ def draw_ratings_bgl():
             # ui_bgl.draw_text( 'rate asset %s' % asset_data['name'],r.width - rating_button_width + margin, margin, font_size)
             return
 
-        ui_bgl.draw_rect(ui.rating_x,
-                         ui.rating_y - ui.rating_ui_height - 2 * ui.margin - font_size,
-                         ui.rating_ui_width + ui.margin,
-                         ui.rating_ui_height + 2 * ui.margin + font_size,
-                         bgcol)
-        if asset_data['assetType'] == 'model':
-            ui_img_name = 'rating_ui.png'
-        else:
-            ui_img_name = 'rating_ui_empty.png'
-            text = 'Try to estimate how many hours it would take for a professional artist to create this asset:'
-            tx = ui.rating_x + ui.workhours_bar_x
-            # draw_text_block(x=tx, y=ui.rating_y, width=80, font_size=20, line_height=15, text=text, color=colors.TEXT)
-
-        img = utils.get_thumbnail(ui_img_name)
-        ui_bgl.draw_image(ui.rating_x,
-                          ui.rating_y - ui.rating_ui_height - 2 * ui.margin,
-                          ui.rating_ui_width,
-                          ui.rating_ui_height,
-                          img, 1)
-        img = utils.get_thumbnail('star_white.png')
-
-        quality = bkit_ratings.rating_quality
-        work_hours = bkit_ratings.rating_work_hours
-
-        for a in range(0, quality):
-            ui_bgl.draw_image(ui.rating_x + ui.quality_stars_x + a * ui.star_size,
-                              ui.rating_y - ui.rating_ui_height + ui.quality_stars_y,
-                              ui.star_size,
-                              ui.star_size,
-                              img, 1)
-
-        img = utils.get_thumbnail('bar_slider.png')
-        # for a in range(0,11):
-        if work_hours > 0.2:
-            if asset_data['assetType'] == 'model':
-                complexity = math.log2(work_hours) + 2  # real complexity
-                complexity = (1. / 9.) * (complexity - 1) * ui.workhours_bar_x_max
-            else:
-                complexity = work_hours / 5 * ui.workhours_bar_x_max
-            ui_bgl.draw_image(
-                ui.rating_x + ui.workhours_bar_x + int(
-                    complexity),
-                ui.rating_y - ui.rating_ui_height + ui.workhours_bar_y,
-                ui.workhours_bar_slider_size,
-                ui.workhours_bar_slider_size, img, 1)
-            ui_bgl.draw_text(
-                str(round(work_hours, 1)),
-                ui.rating_x + ui.workhours_bar_x - 50,
-                ui.rating_y - ui.rating_ui_height + ui.workhours_bar_y + 10, font_size)
-        # (0.5,1,2,4,8,16,32,64,128,256)
-        # ratings have to be different for models and brushes+materials.
-
-        scalevalues, xs = get_rating_scalevalues(asset_data['assetType'])
-        for v, x in zip(scalevalues, xs):
-            ui_bgl.draw_rect(ui.rating_x + ui.workhours_bar_x + int(
-                x * ui.workhours_bar_x_max) - 1 + ui.workhours_bar_slider_size / 2,
-                             ui.rating_y - ui.rating_ui_height + ui.workhours_bar_y,
-                             2,
-                             5,
-                             textcol)
-            ui_bgl.draw_text(str(v),
-                             ui.rating_x + ui.workhours_bar_x + int(
-                                 x * ui.workhours_bar_x_max),
-                             ui.rating_y - ui.rating_ui_height + ui.workhours_bar_y - 30,
-                             font_size)
-        if work_hours > 0.2 and quality > 0.2:
-            text = 'Thanks for rating asset %s' % asset_data['name']
-        else:
-            text = 'Rate asset %s.' % asset_data['name']
-        ui_bgl.draw_text(text,
-                         ui.rating_x,
-                         ui.rating_y - ui.margin - font_size,
-                         font_size)
-
 
 def draw_text_block(x=0, y=0, width=40, font_size=10, line_height=15, text='', color=colors.TEXT):
     lines = text.split('\n')
@@ -633,7 +560,7 @@ def draw_callback_2d(self, context):
             draw_callback_2d_upload_preview(self, context)
 
 
-def draw_downloader(x, y, percent=0, img=None, text= ''):
+def draw_downloader(x, y, percent=0, img=None, text=''):
     if img is not None:
         ui_bgl.draw_image(x, y, 50, 50, img, .5)
 
@@ -643,8 +570,8 @@ def draw_downloader(x, y, percent=0, img=None, text= ''):
     #     ui_bgl.draw_text(asset_data['name'], x, y, colors.TEXT)
     #     ui_bgl.draw_text(asset_data['filesSize'])
     if text:
-        ui_bgl.draw_text(text, x, y - 15,12, colors.TEXT)
-        #asset_data and asset_data.get('filesSize'):
+        ui_bgl.draw_text(text, x, y - 15, 12, colors.TEXT)
+        # asset_data and asset_data.get('filesSize'):
         # fs = asset_data['filesSize']
         # fsmb = fs // (1024 * 1024)
         # fskb = fs % 1024
@@ -722,8 +649,8 @@ def draw_callback_2d_upload_preview(self, context):
 
     props = utils.get_upload_props()
 
-    #assets which don't need asset preview
-    if ui_props.asset_type =='HDR':
+    # assets which don't need asset preview
+    if ui_props.asset_type == 'HDR':
         return
 
     if props != None and ui_props.draw_tooltip:
@@ -738,6 +665,7 @@ def draw_callback_2d_upload_preview(self, context):
 
         draw_tooltip(ui_props.bar_x, ui_props.bar_y, text=ui_props.tooltip, img=img)
 
+
 def is_upload_old(asset_data):
     '''
     estimates if the asset is far too long in the 'uploaded' state
@@ -781,7 +709,7 @@ def draw_callback_2d_search(self, context):
     #                       1,
     #                       img,
     #                       1)
-    if not ui_props.dragging and ui_props.hcount > 0 and ui_props.wcount>0:
+    if not ui_props.dragging and ui_props.hcount > 0 and ui_props.wcount > 0:
         search_results = s.get('search results')
         search_results_orig = s.get('search results orig')
         if search_results == None:
@@ -860,19 +788,18 @@ def draw_callback_2d_search(self, context):
                     else:
                         ui_bgl.draw_rect(x, y, ui_props.thumb_size, ui_props.thumb_size, white)
 
-
                     result = search_results[index]
-                    #code to inform validators that the validation is waiting too long and should be done asap
+                    # code to inform validators that the validation is waiting too long and should be done asap
                     if result['verificationStatus'] == 'uploaded':
                         if utils.profile_is_validator():
                             over_limit = is_upload_old(result)
                             if over_limit:
-                                redness = min(over_limit*.05,0.5)
+                                redness = min(over_limit * .05, 0.5)
                                 red = (1, 0, 0, redness)
                                 ui_bgl.draw_rect(x, y, ui_props.thumb_size, ui_props.thumb_size, red)
 
                     if result['downloaded'] > 0:
-                        ui_bgl.draw_rect(x, y , int(ui_props.thumb_size * result['downloaded'] / 100.0), 2, green)
+                        ui_bgl.draw_rect(x, y, int(ui_props.thumb_size * result['downloaded'] / 100.0), 2, green)
                     # object type icons - just a test..., adds clutter/ not so userfull:
                     # icons = ('type_finished.png', 'type_template.png', 'type_particle_system.png')
 
@@ -1118,63 +1045,11 @@ def interact_rating(r, mx, my, event):
                              ui.rating_y - ui.rating_button_width,
                              ui.rating_button_width * 2,
                              ui.rating_button_width):
-                ui.rating_menu_on = True
-                ui.rating_button_on = False
+                # ui.rating_menu_on = True
+                ctx = utils.get_fake_context(bpy.context, area_type='VIEW_3D')
+                bpy.ops.wm.blenderkit_menu_rating_upload(ctx,'INVOKE_DEFAULT',asset_name=asset_data['name'], asset_id=asset_data['id'],
+                                                         asset_type=asset_data['assetType'])
                 return True
-        if ui.rating_menu_on:
-            if mouse_in_area(mx, my,
-                             ui.rating_x,
-                             ui.rating_y - ui.rating_ui_height,
-                             ui.rating_ui_width,
-                             ui.rating_ui_height + 25):
-                rmx = mx - (ui.rating_x)
-                rmy = my - (ui.rating_y - ui.rating_ui_height)
-
-                # quality
-                upload_rating = False
-                if (ui.quality_stars_x < rmx and rmx < ui.quality_stars_x + 10 * ui.star_size and \
-                    ui.quality_stars_y < rmy and rmy < ui.quality_stars_y + ui.star_size and event.type == 'LEFTMOUSE' and event.value == 'PRESS') or \
-                        ui.dragging_rating_quality:
-
-                    if event.type == 'LEFTMOUSE':
-                        if event.value == 'PRESS':
-                            ui.dragging_rating = True
-                            ui.dragging_rating_quality = True
-                        elif event.value == 'RELEASE':
-                            ui.dragging_rating = False
-                            ui.dragging_rating_quality = False
-
-                    if ui.dragging_rating_quality:
-                        q = math.ceil((rmx - ui.quality_stars_x) / (float(ui.star_size)))
-                        bkit_ratings.rating_quality = q
-
-                # work hours
-                if (
-                        ui.workhours_bar_x < rmx and rmx < ui.workhours_bar_x + ui.workhours_bar_x_max + ui.workhours_bar_slider_size and \
-                        ui.workhours_bar_y < rmy and rmy < ui.workhours_bar_y + ui.workhours_bar_slider_size and event.type == 'LEFTMOUSE' and event.value == 'PRESS') \
-                        or (ui.dragging_rating_work_hours):
-                    if event.value == 'PRESS':
-                        ui.dragging_rating = True
-                        ui.dragging_rating_work_hours = True
-                    elif event.value == 'RELEASE':
-                        ui.dragging_rating = False
-                        ui.dragging_rating_work_hours = False
-                    if ui.dragging_rating_work_hours:
-                        xv = rmx - ui.workhours_bar_x - ui.workhours_bar_slider_size / 2
-                        ratio = xv / ui.workhours_bar_x_max
-                        if asset_data['assetType'] == 'model':
-                            wh_log2 = ratio * 9 - 1
-                            wh = 2 ** wh_log2
-                        else:
-                            wh = 5 * ratio
-                        bkit_ratings.rating_work_hours = wh
-
-                if event.type == 'LEFTMOUSE' and event.value == 'RELEASE':
-                    ui.last_rating_time = time.time()  # this prop seems obsolete now?
-                return True
-            else:
-                ui.rating_button_on = True
-                ui.rating_menu_on = False
     return False
 
 
@@ -1383,8 +1258,8 @@ class AssetBarOperator(bpy.types.Operator):
                 ao = bpy.context.active_object
                 if ui_props.asset_type == 'MODEL' and ao != None \
                         or ui_props.asset_type == 'MATERIAL' and ao != None and ao.active_material != None \
-                        or ui_props.asset_type == 'BRUSH' and utils.get_active_brush() is not None\
-                        or ui_props.asset_type =='SCENE' or ui_props.asset_type == 'HDR':
+                        or ui_props.asset_type == 'BRUSH' and utils.get_active_brush() is not None \
+                        or ui_props.asset_type == 'SCENE' or ui_props.asset_type == 'HDR':
                     export_data, upload_data = upload.get_upload_data(self, context, ui_props.asset_type)
                     if upload_data:
                         ui_props.tooltip = search.generate_tooltip(upload_data)
@@ -1460,10 +1335,10 @@ class AssetBarOperator(bpy.types.Operator):
             ui_props.mouse_x = mx
             ui_props.mouse_y = my
 
-            if ui_props.dragging_rating or ui_props.rating_menu_on:
-                res = interact_rating(r, mx, my, event)
-                if res == True:
-                    return {'RUNNING_MODAL'}
+            # if ui_props.dragging_rating or ui_props.rating_menu_on:
+            #     res = interact_rating(r, mx, my, event)
+            #     if res == True:
+            #         return {'RUNNING_MODAL'}
 
             if ui_props.drag_init:
                 ui_props.drag_length += 1
@@ -1552,7 +1427,7 @@ class AssetBarOperator(bpy.types.Operator):
 
             ui_props = context.scene.blenderkitUI
             if event.value == 'PRESS' and ui_props.active_index > -1:
-                #start dragging models and materials
+                # start dragging models and materials
                 if ui_props.asset_type == 'MODEL' or ui_props.asset_type == 'MATERIAL':
                     # check if asset is locked and let the user know in that case
                     asset_search_index = ui_props.active_index
@@ -1666,8 +1541,8 @@ class AssetBarOperator(bpy.types.Operator):
                         if ao != None and not ao.is_library_indirect:
                             target_object = bpy.context.active_object.name
                             target_slot = bpy.context.active_object.active_material_index
-                            #change snapped location for placing material downloader.
-                            ui_props.snapped_location =  bpy.context.active_object.location
+                            # change snapped location for placing material downloader.
+                            ui_props.snapped_location = bpy.context.active_object.location
                         else:
                             target_object = ''
                             target_slot = ''
@@ -1677,7 +1552,7 @@ class AssetBarOperator(bpy.types.Operator):
                     return {'RUNNING_MODAL'}
 
                 if asset_search_index > -3:
-                    #picking of assets and using them
+                    # picking of assets and using them
                     if ui_props.asset_type == 'MATERIAL':
                         if target_object != '':
                             # position is for downloader:
@@ -1712,8 +1587,8 @@ class AssetBarOperator(bpy.types.Operator):
                                                           target_object=target_object)
 
                     else:
-                        bpy.ops.scene.blenderkit_download(#asset_type=ui_props.asset_type,
-                                                          asset_index=asset_search_index)
+                        bpy.ops.scene.blenderkit_download(  # asset_type=ui_props.asset_type,
+                            asset_index=asset_search_index)
 
                     ui_props.dragging = False
                     return {'RUNNING_MODAL'}
@@ -1877,7 +1752,7 @@ class RunAssetBarWithContext(bpy.types.Operator):
 
     def execute(self, context):
         C_dict = utils.get_fake_context(context)
-        if C_dict.get('window'): # no 3d view, no asset bar.
+        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'}
 
@@ -1928,6 +1803,7 @@ def register_ui():
     wm = bpy.context.window_manager
     km = wm.keyconfigs.addon.keymaps['Window']
     kmi = km.keymap_items.new(ratings.FastRateMenu.bl_idname, 'F', 'PRESS', ctrl=False, shift=False)
+    addon_keymapitems.append(kmi)
     kmi = km.keymap_items.new(upload.FastCategory.bl_idname, 'F', 'PRESS', ctrl=True, shift=False)
     addon_keymapitems.append(kmi)
 
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index c4ed5e40e7be1761e826e21bdb6895bd9111be5a..6d89e110e634aa5b33c89a953c101d0e33189652 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -917,6 +917,7 @@ class VIEW3D_PT_blenderkit_import_settings(Panel):
 
             row.prop(props, 'append_method', expand=True, icon_only=False)
 
+
         layout.prop(props, 'resolution')
         # layout.prop(props, 'unpack_files')
 
@@ -1180,6 +1181,12 @@ def draw_asset_context_menu(self, context, asset_data, from_panel=False):
         # if asset_data['downloaded'] == 100: # only show for downloaded/used assets
         # if ui_props.asset_type in ('MODEL', 'MATERIAL'):
         #     layout.menu(OBJECT_MT_blenderkit_resolution_menu.bl_idname)
+        layout.operator_context = 'INVOKE_DEFAULT'
+
+        op = layout.operator('wm.blenderkit_menu_rating_upload', text='Rate')
+        op.asset_name = asset_data['name']
+        op.asset_id = asset_data['id']
+        op.asset_type = asset_data['assetType']
 
         if ui_props.asset_type in ('MODEL', 'MATERIAL') and \
                 utils.get_param(asset_data, 'textureResolutionMax') is not None and \
@@ -1273,13 +1280,9 @@ def draw_asset_context_menu(self, context, asset_data, from_panel=False):
             op.state = 'deleted'
 
         if utils.profile_is_validator():
-            layout.label(text='Admin rating Tools:')
+            layout.label(text='Admin Tools:')
 
-            op = layout.operator('wm.blenderkit_menu_rating_upload', text='Fast rate')
-            op.asset_id = asset_data['id']
-            op.asset_type = asset_data['assetType']
 
-            layout.operator_context = 'INVOKE_DEFAULT'
             op = layout.operator('object.blenderkit_print_asset_debug', text='Print asset debug')
             op.asset_id = asset_data['id']
 
@@ -1338,6 +1341,7 @@ class OBJECT_MT_blenderkit_asset_menu(bpy.types.Menu):
         # sr = bpy.context.scene['search results']
         sr = bpy.context.scene['search results']
         asset_data = sr[ui_props.active_index]
+
         draw_asset_context_menu(self, context, asset_data, from_panel=False)