diff --git a/blenderkit/search.py b/blenderkit/search.py
index 844b7fd1bc7670062b049226fdc3106f36bd2159..1dd7e6c2178ed216f3d52be30599194615a7561f 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -635,7 +635,7 @@ def write_profile(adata):
     if user.get('remainingPrivateQuota') is not None:
         user['remainingPrivateQuota'] /= (1024 * 1024)
 
-    if user.get('id') == 2:
+    if adata.get('canEditAllAssets') is True:
         user['exmenu'] = True
     else:
         user['exmenu'] = False
@@ -675,7 +675,7 @@ def get_profile():
 
 def profile_is_validator():
     a = bpy.context.window_manager.get('bkit profile')
-    if a is not None and a.get('exmenu'):
+    if a is not None and a['user'].get('exmenu'):
         return True
     return False
 
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index d8ca90fcabf266180749b85280a4b85e484aa5fc..4541de6ad1fe9268493b47eff9c244fdbd941e51 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -772,11 +772,15 @@ class OBJECT_MT_blenderkit_asset_menu(bpy.types.Menu):
         if profile is not None:
             # validation by admin
             if profile['user']['exmenu']:
+                layout.label(text='Validation tools:')
                 if asset_data['verificationStatus'] != 'validated':
                     op = layout.operator('object.blenderkit_change_status', text='Validate')
                     op.asset_id = asset_data['id']
                     op.state = 'validated'
-
+                if asset_data['verificationStatus'] != 'on_hold':
+                    op = layout.operator('object.blenderkit_change_status', text='Put on Hold')
+                    op.asset_id = asset_data['id']
+                    op.state = 'on_hold'
 
             if author_id == str(profile['user']['id']):
                 layout.label(text='Management tools:')
diff --git a/blenderkit/upload.py b/blenderkit/upload.py
index b44ae2f32fe88a17accd1f9e5a306e729b867acb..001c6211e905b4dfb5a541b9714d4c5dc4eb13e9 100644
--- a/blenderkit/upload.py
+++ b/blenderkit/upload.py
@@ -622,7 +622,7 @@ def start_upload(self, context, asset_type, reupload, upload_set):
     else:
         url += props.id + '/'
         try:
-            if upload_set != ['METADATA']:
+            if 'MAINFILE' in upload_set:
                 json_metadata["verificationStatus"] = "uploading"
             r = rerequests.put(url, json=json_metadata, headers=headers, verify=True, immediate=True)  # files = files,
             ui.add_report('uploaded metadata')
diff --git a/blenderkit/upload_bg.py b/blenderkit/upload_bg.py
index a9c9f19b535dcffc0b20aaeebe34dffbd481a0d1..2115649b6edd378c608f1b758077659bacc687d1 100644
--- a/blenderkit/upload_bg.py
+++ b/blenderkit/upload_bg.py
@@ -197,17 +197,18 @@ if __name__ == "__main__":
 
         if uploaded:
             # mark on server as uploaded
-            confirm_data = {
-                "verificationStatus": "uploaded"
-            }
+            if 'MAINFILE' in upload_set:
+                confirm_data = {
+                    "verificationStatus": "uploaded"
+                }
 
-            url = paths.get_api_url() + 'assets/'
+                url = paths.get_api_url() + 'assets/'
 
-            headers = utils.get_headers(upload_data['token'])
+                headers = utils.get_headers(upload_data['token'])
 
-            url += upload_data["id"] + '/'
+                url += upload_data["id"] + '/'
 
-            r = rerequests.patch(url, json=confirm_data, headers=headers, verify=True)  # files = files,
+                r = rerequests.patch(url, json=confirm_data, headers=headers, verify=True)  # files = files,
 
             bg_blender.progress('upload finished successfully')
         else: