diff --git a/add_advanced_objects_menu/arrange_on_curve.py b/add_advanced_objects_menu/arrange_on_curve.py
index b811263b151ebc2d98b465ff5983a0ea354d333d..c292e341da92293accb13d16d49513aad7da6dc2 100644
--- a/add_advanced_objects_menu/arrange_on_curve.py
+++ b/add_advanced_objects_menu/arrange_on_curve.py
@@ -31,6 +31,7 @@ FLT_MIN = 0.004
 
 
 class PanelDupliCurve(Panel):
+    bl_idname = "VIEW3D_PT_arranjar_numa_curva"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
     bl_context = "objectmode"
diff --git a/add_advanced_objects_menu/cubester.py b/add_advanced_objects_menu/cubester.py
index 1a516bd07f658a57dfdd2109d505b7279f1fbb55..f1a8f5817804a39e9023464c2df1e3ecb55ab337 100644
--- a/add_advanced_objects_menu/cubester.py
+++ b/add_advanced_objects_menu/cubester.py
@@ -695,7 +695,7 @@ def material_frame_handler(scene):
 
 
 class CubeSterPanel(Panel):
-    bl_idname = "OBJECT_PT.cubester"
+    bl_idname = "OBJECT_PT_cubester"
     bl_label = "CubeSter"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
diff --git a/add_curve_extra_objects/__init__.py b/add_curve_extra_objects/__init__.py
index ae8cdf894fb8cfcb1209cc1d46501db1df1147f5..42ae2d449a4c8031cb4f66bbbcacde7c9ece7627 100644
--- a/add_curve_extra_objects/__init__.py
+++ b/add_curve_extra_objects/__init__.py
@@ -225,9 +225,9 @@ class CurveExtraObjectsAddonPreferences(AddonPreferences):
                      icon="LAYER_USED")
 
 
-class INFO_MT_curve_knots_add1(Menu):
+class INFO_MT_curve_knots_add(Menu):
     # Define the "Extras" menu
-    bl_idname = "curve_knots_add"
+    bl_idname = "INFO_MT_curve_knots_add"
     bl_label = "Plants"
 
     def draw(self, context):
@@ -253,7 +253,7 @@ def menu_func(self, context):
                               icon='CURVE_DATA')
     layout.separator()
 
-    layout.menu("curve_knots_add", text="Knots", icon='CURVE_DATA')
+    layout.menu(INFO_MT_curve_knots_add.bl_idname, text="Knots", icon='CURVE_DATA')
     layout.separator()
     layout.operator("curve.curlycurve", text="Curly Curve",
                     icon='CURVE_DATA')
diff --git a/add_curve_extra_objects/add_curve_simple.py b/add_curve_extra_objects/add_curve_simple.py
index 3e85fa18fca59ad55b2c2274ba6d4e2fc8f105e7..c6908ce9dbc028f8f6f9a6146477d84a43b5e05e 100644
--- a/add_curve_extra_objects/add_curve_simple.py
+++ b/add_curve_extra_objects/add_curve_simple.py
@@ -1399,6 +1399,7 @@ class BezierDivide(Operator):
 # Simple change panel
 
 class SimplePanel(Panel):
+    bl_idname = "VIEW3D_PT_simple_curve"
     bl_label = "Simple Curve"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
diff --git a/add_curve_extra_objects/add_curve_spirofit_bouncespline.py b/add_curve_extra_objects/add_curve_spirofit_bouncespline.py
index 33caf120acdcc7cde5af2c4c121c5baecbbbf9b1..d0c1c747a3d90069c72aedffdc583cd9ae17fe83 100644
--- a/add_curve_extra_objects/add_curve_spirofit_bouncespline.py
+++ b/add_curve_extra_objects/add_curve_spirofit_bouncespline.py
@@ -979,6 +979,7 @@ def draw_spline_settings(self):
 # Tools Panel > Create
 # ------------------------------------------------------------
 class SplinePanel(Panel):
+    bl_idname = "VIEW3D_PT_spirofit_spline"
     bl_space_type = "VIEW_3D"
     bl_context = "objectmode"
     bl_region_type = "TOOLS"
diff --git a/add_curve_sapling/__init__.py b/add_curve_sapling/__init__.py
index 48b45d312df637dd4701eae288e47ad544076898..274c1fefefea04927b3d072f83174c8f484cb9d0 100644
--- a/add_curve_sapling/__init__.py
+++ b/add_curve_sapling/__init__.py
@@ -235,7 +235,7 @@ class ImportData(Operator):
 class PresetMenu(Menu):
     """Create the preset menu by finding all preset files
     in the preset directory"""
-    bl_idname = "sapling.presetmenu"
+    bl_idname = "SAPLING_MT_preset"
     bl_label = "Presets"
 
     def draw(self, context):
@@ -930,7 +930,7 @@ class AddTree(Operator):
             row.label(" ")
             row.prop(self, 'overwrite')
             row = box.row()
-            row.menu('sapling.presetmenu', text='Load Preset')
+            row.menu('SAPLING_MT_preset', text='Load Preset')
             row.prop(self, 'limitImport')
 
         elif self.chooseSet == '1':
diff --git a/add_mesh_extra_objects/mesh_discombobulator.py b/add_mesh_extra_objects/mesh_discombobulator.py
index 9d9469d294024c1be3e1cdbae8f3868f72185b4a..b677fc6cc5de5a38db64bd4e7a3db5e01f9da525 100644
--- a/add_mesh_extra_objects/mesh_discombobulator.py
+++ b/add_mesh_extra_objects/mesh_discombobulator.py
@@ -627,7 +627,7 @@ class discombobulator(Operator):
 
 
 class discombobulator_dodads_list(Menu):
-    bl_idname = "object.discombobulator_dodad_list"
+    bl_idname = "OBJECT_MT_discombobulator_dodad_list"
     bl_label = "List of saved Doodads"
     bl_description = "List of the saved Doodad Object Names"
     bl_options = {'REGISTER'}
@@ -644,7 +644,7 @@ class discombobulator_dodads_list(Menu):
 
 
 class discombob_help(Menu):
-    bl_idname = "help.discombobulator"
+    bl_idname = "HELP_MT_discombobulator"
     bl_label = "Usage Information"
     bl_description = "Help"
     bl_options = {'REGISTER'}
@@ -688,7 +688,7 @@ class VIEW3D_OT_tools_discombobulate(Operator):
         layout = self.layout
 
         row = layout.row()
-        row.menu('help.discombobulator', icon='INFO')
+        row.menu('HELP_MT_discombobulator', icon='INFO')
         box = layout.box()
         box.label("Protusions settings")
         row = box.row()
@@ -740,7 +740,7 @@ class VIEW3D_OT_tools_discombobulate(Operator):
         doodle = len(bpy.context.scene.discomb.DISC_doodads)
 
         col.enabled = (True if doodle > 0 else False)
-        col.menu("object.discombobulator_dodad_list",
+        col.menu("OBJECT_MT_discombobulator_dodad_list",
                      text="List of saved Doodads ({})".format(doodle))
 
         box = layout.box()
diff --git a/ant_landscape/__init__.py b/ant_landscape/__init__.py
index e4ae01d18195b7d249c8669e9c763140011abbd4..ba6e8b6f88e3ab4f1230b1069272c610a6867460 100644
--- a/ant_landscape/__init__.py
+++ b/ant_landscape/__init__.py
@@ -76,6 +76,7 @@ def menu_func_landscape(self, context):
 
 # Landscape Add Panel
 class panel_func_add_landscape(bpy.types.Panel):
+    bl_idname = "ANTLANDSCAPE_PT_add"
     bl_space_type = "VIEW_3D"
     bl_context = "objectmode"
     bl_region_type = "TOOLS"
@@ -90,6 +91,7 @@ class panel_func_add_landscape(bpy.types.Panel):
 
 # Landscape Tools:
 class AntLandscapeToolsPanel(bpy.types.Panel):
+    bl_idname = "ANTLANDSCAPE_PT_tools"
     bl_space_type = "VIEW_3D"
     bl_context = "objectmode"
     bl_region_type = "TOOLS"
diff --git a/archimesh/__init__.py b/archimesh/__init__.py
index e9ba3883aa33f5ae8c39a0885a59fe2d5de3afe7..cb22e1572e554ad111f53a07d83f905dbb43b942 100644
--- a/archimesh/__init__.py
+++ b/archimesh/__init__.py
@@ -58,7 +58,7 @@ if "bpy" in locals():
     importlib.reload(achm_venetian_maker)
     importlib.reload(achm_main_panel)
     importlib.reload(achm_window_panel)
-    print("archimesh: Reloaded multifiles")
+    # print("archimesh: Reloaded multifiles")
 else:
     from . import achm_books_maker
     from . import achm_column_maker
@@ -75,7 +75,7 @@ else:
     from . import achm_window_maker
     from . import achm_window_panel
 
-    print("archimesh: Imported multifiles")
+    # print("archimesh: Imported multifiles")
 
 # noinspection PyUnresolvedReferences
 import bpy
diff --git a/archimesh/achm_main_panel.py b/archimesh/achm_main_panel.py
index 288922f3f06793dc4a3d2286101b0f3ab87fe184..d12c2a6ba666f54ee1e1e5271d0445cfed517386 100644
--- a/archimesh/achm_main_panel.py
+++ b/archimesh/achm_main_panel.py
@@ -388,7 +388,7 @@ class AchmPencilAction(Operator):
 # Define panel class for main functions.
 # ------------------------------------------------------------------
 class ArchimeshMainPanel(Panel):
-    bl_idname = "archimesh_main_panel"
+    bl_idname = "ARCHIMESH_PT_main"
     bl_label = "Archimesh"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
diff --git a/archimesh/achm_window_panel.py b/archimesh/achm_window_panel.py
index ce7cb34e60468956754cd70a4db0e2078ec2ecf6..592e13a66cabda1872df1e302723a004d571db1d 100644
--- a/archimesh/achm_window_panel.py
+++ b/archimesh/achm_window_panel.py
@@ -1772,7 +1772,7 @@ Object.WindowPanelGenerator = CollectionProperty(type=GeneralPanelProperties)
 # Define panel class to modify myobjects.
 # ------------------------------------------------------------------
 class AchmWindowEditPanel(Panel):
-    bl_idname = "window.edit_panel2"
+    bl_idname = "ARCHIMESH_PT_window_edit"
     bl_label = "Window Panel"
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
diff --git a/archipack/__init__.py b/archipack/__init__.py
index 7707abd313bc3285f6a770344af5fd5f50ef8902..0f5d3a86ae834f2bde8a2b7c79c1f2e689441ec1 100644
--- a/archipack/__init__.py
+++ b/archipack/__init__.py
@@ -63,7 +63,7 @@ if "bpy" in locals():
     imp.reload(archipack_floor)
     imp.reload(archipack_rendering)
 
-    print("archipack: reload ready")
+    # print("archipack: reload ready")
 else:
     from . import archipack_progressbar
     from . import archipack_material
@@ -82,7 +82,7 @@ else:
     from . import archipack_floor
     from . import archipack_rendering
 
-    print("archipack: ready")
+    # print("archipack: ready")
 
 # noinspection PyUnresolvedReferences
 import bpy
@@ -433,9 +433,8 @@ def draw_menu(self, context):
                     ).preset_operator = "archipack.roof"
 
 
-class ARCHIPACK_create_menu(Menu):
+class ARCHIPACK_MT_create(Menu):
     bl_label = 'Archipack'
-    bl_idname = 'ARCHIPACK_create_menu'
 
     def draw(self, context):
         draw_menu(self, context)
@@ -450,7 +449,7 @@ def menu_func(self, context):
     # either draw sub menu or right at end of this one
     if context.user_preferences.addons[__name__].preferences.create_submenu:
         layout.operator_context = 'INVOKE_REGION_WIN'
-        layout.menu("ARCHIPACK_create_menu", icon_value=icons["archipack"].icon_id)
+        layout.menu("ARCHIPACK_MT_create", icon_value=icons["archipack"].icon_id)
     else:
         draw_menu(self, context)
 
@@ -504,14 +503,14 @@ def register():
     WindowManager.archipack = PointerProperty(type=archipack_data)
     bpy.utils.register_class(Archipack_Pref)
     update_panel(None, bpy.context)
-    bpy.utils.register_class(ARCHIPACK_create_menu)
+    bpy.utils.register_class(ARCHIPACK_MT_create)
     bpy.types.INFO_MT_mesh_add.append(menu_func)
 
 
 def unregister():
     global icons_collection
     bpy.types.INFO_MT_mesh_add.remove(menu_func)
-    bpy.utils.unregister_class(ARCHIPACK_create_menu)
+    bpy.utils.unregister_class(ARCHIPACK_MT_create)
 
     bpy.utils.unregister_class(TOOLS_PT_Archipack_Tools)
     bpy.utils.unregister_class(TOOLS_PT_Archipack_Create)
diff --git a/bone_selection_sets.py b/bone_selection_sets.py
index bd7b26c055e8ed375e782440c985cb5ae2b3d93b..46aa7f2524589a45efa09dcbf07f6210781ce316 100644
--- a/bone_selection_sets.py
+++ b/bone_selection_sets.py
@@ -129,7 +129,7 @@ class POSE_UL_selection_set(UIList):
 
 
 class POSE_MT_create_new_selection_set(Menu):
-    bl_idname = "pose.selection_set_create_new_popup"
+    bl_idname = "POSE_MT_selection_set_create"
     bl_label = "Choose Selection Set"
 
     def draw(self, context):
@@ -293,7 +293,7 @@ class POSE_OT_selection_set_assign(PluginOperator):
 
         if not (arm.active_selection_set < len(arm.selection_sets)):
             bpy.ops.wm.call_menu("INVOKE_DEFAULT",
-                name="pose.selection_set_create_new_popup")
+                name="POSE_MT_selection_set_create")
         else:
             bpy.ops.pose.selection_set_assign('EXEC_DEFAULT')
 
diff --git a/btrace/__init__.py b/btrace/__init__.py
index c1f62512ff055b70f9151dbeb739f238a567fd0d..8f00f2c33368eea966ca597c34ad4b95268e6faf 100644
--- a/btrace/__init__.py
+++ b/btrace/__init__.py
@@ -39,27 +39,27 @@ else:
 import bpy
 from bpy.types import AddonPreferences
 from .bTrace_props import (
-        TracerProperties,
-        addTracerObjectPanel,
-        )
+    TracerProperties,
+    addTracerObjectPanel,
+)
 from .bTrace import (
-        OBJECT_OT_convertcurve,
-        OBJECT_OT_objecttrace,
-        OBJECT_OT_objectconnect,
-        OBJECT_OT_writing,
-        OBJECT_OT_particletrace,
-        OBJECT_OT_traceallparticles,
-        OBJECT_OT_curvegrow,
-        OBJECT_OT_reset,
-        OBJECT_OT_fcnoise,
-        OBJECT_OT_meshfollow,
-        OBJECT_OT_materialChango,
-        OBJECT_OT_clearColorblender,
-        )
+    OBJECT_OT_convertcurve,
+    OBJECT_OT_objecttrace,
+    OBJECT_OT_objectconnect,
+    OBJECT_OT_writing,
+    OBJECT_OT_particletrace,
+    OBJECT_OT_traceallparticles,
+    OBJECT_OT_curvegrow,
+    OBJECT_OT_reset,
+    OBJECT_OT_fcnoise,
+    OBJECT_OT_meshfollow,
+    OBJECT_OT_materialChango,
+    OBJECT_OT_clearColorblender,
+)
 from bpy.props import (
-        EnumProperty,
-        PointerProperty,
-        )
+    EnumProperty,
+    PointerProperty,
+)
 
 
 # Add-on Preferences
diff --git a/btrace/bTrace_props.py b/btrace/bTrace_props.py
index bff3b88f049c26cdc1c6e8bf615f57d37718b374..70c57532ce32ee8b22210f356e891f3c5a88f907 100644
--- a/btrace/bTrace_props.py
+++ b/btrace/bTrace_props.py
@@ -568,6 +568,7 @@ class TracerProperties(PropertyGroup):
 
 # Draw Brush panel in Toolbar
 class addTracerObjectPanel(Panel):
+    bl_idname = "BTRACE_PT_object_brush"
     bl_label = "Btrace"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
diff --git a/camera_dolly_crane_rigs.py b/camera_dolly_crane_rigs.py
index 8175ac3f9be375fa92c428ad34f6afccef56ddc1..164436751f3319e3e478d1fddf09f8d375fa33b8 100644
--- a/camera_dolly_crane_rigs.py
+++ b/camera_dolly_crane_rigs.py
@@ -754,6 +754,7 @@ def build_crane_rig(context):
 # This is the UI for the Dolly Camera Rig
 # =========================================================================
 class DollyCameraUI(Panel):
+    bl_idname = "CAMERA_DOLLY_PT_ui"
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Dolly Camera UI"
@@ -819,6 +820,7 @@ class DollyCameraUI(Panel):
 # This is the UI for the Crane Rig Camera
 # =========================================================================
 class CraneCameraUI(Panel):
+    bl_idname = "CAMERA_CRANE_PT_ui"
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'UI'
     bl_label = "Crane Camera UI"
diff --git a/camera_turnaround.py b/camera_turnaround.py
index afae29e559764b40fd1f643d8dc95727a534fa4b..d1a27e98c2e0952e026106683808591d49c6694a 100644
--- a/camera_turnaround.py
+++ b/camera_turnaround.py
@@ -262,6 +262,7 @@ class CameraTurnProps(PropertyGroup):
 # UI Class
 # ------------------------------------------------------
 class PanelUI(Panel):
+    bl_idname = "CAMERA_TURN_PT_main"
     bl_label = "Turnaround Camera"
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
diff --git a/development_api_navigator.py b/development_api_navigator.py
index 599f6f4ed96798bf8565c04c7a0c427b9e42ca38..15622ec7e972d06fb9b9f134b71ca61a278d118b 100644
--- a/development_api_navigator.py
+++ b/development_api_navigator.py
@@ -457,7 +457,7 @@ class Toggle_doc(ApiNavigator, Operator):
 
 # ######### UI Panels ############
 class OBJECT_PT_api_navigator(ApiNavigator, Panel):
-    bl_idname = 'api_navigator'
+    bl_idname = 'OBJECT_PT_api_navigator'
     bl_space_type = "TEXT_EDITOR"
     bl_region_type = "UI"
     bl_label = "API Navigator"
diff --git a/development_edit_operator.py b/development_edit_operator.py
index 3124146b27747b4241c6b68db93a36ab8ebafd39..54d5424e9f4776e2a84e00dc55a8a697410d7e27 100644
--- a/development_edit_operator.py
+++ b/development_edit_operator.py
@@ -139,6 +139,7 @@ class EditOperator(Operator):
 
 
 class EditOperatorPanel(Panel):
+    bl_idname = "DEVEDIT_PT_operator"
     bl_space_type = 'TEXT_EDITOR'
     bl_region_type = 'UI'
     bl_label = "Edit Operator"
diff --git a/development_iskeyfree.py b/development_iskeyfree.py
index bf703b2e1210ede603c25260c3263533880860a1..0408a648ecfe4ab5a2d800552b428a5253760177 100644
--- a/development_iskeyfree.py
+++ b/development_iskeyfree.py
@@ -216,6 +216,7 @@ class RunActionCheck(Operator):
 # Defines UI panel
 # ------------------------------------------------------
 class UIControlPanel(Panel):
+    bl_idname = "DEVISKEYFREE_PT_ui"
     bl_space_type = "TEXT_EDITOR"
     bl_region_type = "UI"
     bl_label = "Is Key Free"
diff --git a/light_field_tools/__init__.py b/light_field_tools/__init__.py
index 66c7d61a6336ff1c7ebc41921d9b33fbc9c69404..386e767af1835a8c9a5ce113fdb113485eb13a76 100644
--- a/light_field_tools/__init__.py
+++ b/light_field_tools/__init__.py
@@ -125,8 +125,8 @@ class LightFieldPropertyGroup(PropertyGroup):
 
 # Define Panel classes for updating
 panels = (
-        light_field_tools.VIEW3D_OT_lightfield_tools,
-        )
+    light_field_tools.VIEW3D_PT_lightfield_tools,
+)
 
 
 def update_panel(self, context):
diff --git a/light_field_tools/light_field_tools.py b/light_field_tools/light_field_tools.py
index f32f0a9b97ad11878e1a6ab29052340e82b65d2b..b4693d52e24eddad331c75e8291611a9f8115f3d 100644
--- a/light_field_tools/light_field_tools.py
+++ b/light_field_tools/light_field_tools.py
@@ -384,7 +384,7 @@ class OBJECT_OT_create_lightfield_basemesh(Operator):
         return {'FINISHED'}
 
 
-class VIEW3D_OT_lightfield_tools(Panel):
+class VIEW3D_PT_lightfield_tools(Panel):
     bl_space_type = "VIEW_3D"
     bl_region_type = "TOOLS"
     bl_context = "objectmode"
diff --git a/materials_utils/__init__.py b/materials_utils/__init__.py
index 1cfec059e202e340f85b979f104f4b752cd7ef95..3bc94ddfc1dc06b0fecf3b519ae83fd41e0d3e9f 100644
--- a/materials_utils/__init__.py
+++ b/materials_utils/__init__.py
@@ -1764,7 +1764,7 @@ class MATERIAL_PT_scenemassive(Panel):
         box = layout.box()
         row = box.row()
         row.menu("scenemassive.opt", text="Advanced Options", icon='SCRIPTWIN')
-        row.menu("help.biconvert",
+        row.menu("HELP_MT_biconvert",
                  text="Usage Information Guide", icon="INFO")
 
         box = layout.box()
@@ -1812,7 +1812,7 @@ class MATERIAL_PT_xps_convert(Panel):
 # Converters Help #
 
 class MATERIAL_MT_biconv_help(Menu):
-    bl_idname = "help.biconvert"
+    bl_idname = "HELP_MT_biconvert"
     bl_description = "Read Instructions & Current Limitations"
     bl_label = "Usage Information Guide"
     bl_options = {'REGISTER'}
diff --git a/measureit/__init__.py b/measureit/__init__.py
index a07eb66224e57258711c295a813dd9972fd00926..489e0a9e6651bd9e5b840868181f251c375afd50 100644
--- a/measureit/__init__.py
+++ b/measureit/__init__.py
@@ -47,10 +47,10 @@ if "bpy" in locals():
     import importlib
 
     importlib.reload(measureit_main)
-    print("measureit: Reloaded multifiles")
+    # print("measureit: Reloaded multifiles")
 else:
     from . import measureit_main
-    print("measureit: Imported multifiles")
+    # print("measureit: Imported multifiles")
 
 # noinspection PyUnresolvedReferences
 import bpy
diff --git a/rigify/ui.py b/rigify/ui.py
index 77e06f012cb816ec67bff91d8188bf14dd041902..458dceed350ecd72ec4bc21ccd1471d39e415ecd 100644
--- a/rigify/ui.py
+++ b/rigify/ui.py
@@ -507,7 +507,7 @@ class DATA_UL_rigify_bone_groups(bpy.types.UIList):
         row2.enabled = not bpy.context.object.data.rigify_colors_lock
 
 
-class DATA_PT_rigify_bone_groups_specials(bpy.types.Menu):
+class DATA_MT_rigify_bone_groups_specials(bpy.types.Menu):
     bl_label = 'Rigify Bone Groups Specials'
 
     def draw(self, context):
@@ -549,7 +549,7 @@ class DATA_PT_rigify_bone_groups(bpy.types.Panel):
         col = row.column(align=True)
         col.operator("armature.rigify_bone_group_add", icon='ZOOMIN', text="")
         col.operator("armature.rigify_bone_group_remove", icon='ZOOMOUT', text="").idx = obj.data.rigify_colors_index
-        col.menu("DATA_PT_rigify_bone_groups_specials", icon='DOWNARROW_HLT', text="")
+        col.menu("DATA_MT_rigify_bone_groups_specials", icon='DOWNARROW_HLT', text="")
         row = layout.row()
         row.prop(armature, 'rigify_theme_to_add', text = 'Theme')
         op = row.operator("armature.rigify_bone_group_add_theme", text="Add From Theme")
@@ -1320,7 +1320,7 @@ def register():
     bpy.utils.register_class(DATA_OT_rigify_bone_group_remove)
     bpy.utils.register_class(DATA_OT_rigify_bone_group_remove_all)
     bpy.utils.register_class(DATA_UL_rigify_bone_groups)
-    bpy.utils.register_class(DATA_PT_rigify_bone_groups_specials)
+    bpy.utils.register_class(DATA_MT_rigify_bone_groups_specials)
     bpy.utils.register_class(DATA_PT_rigify_bone_groups)
     bpy.utils.register_class(DATA_PT_rigify_layer_names)
     bpy.utils.register_class(DATA_PT_rigify_buttons)
@@ -1356,7 +1356,7 @@ def unregister():
     bpy.utils.unregister_class(DATA_OT_rigify_bone_group_remove)
     bpy.utils.unregister_class(DATA_OT_rigify_bone_group_remove_all)
     bpy.utils.unregister_class(DATA_UL_rigify_bone_groups)
-    bpy.utils.unregister_class(DATA_PT_rigify_bone_groups_specials)
+    bpy.utils.unregister_class(DATA_MT_rigify_bone_groups_specials)
     bpy.utils.unregister_class(DATA_PT_rigify_bone_groups)
     bpy.utils.unregister_class(DATA_PT_rigify_layer_names)
     bpy.utils.unregister_class(DATA_PT_rigify_buttons)
diff --git a/uv_texture_atlas.py b/uv_texture_atlas.py
index 14db2e8772f8be85c24fefa71bf578d1c3702051..974d998c9eb4df18411bfbf8a816746917fa8d0f 100644
--- a/uv_texture_atlas.py
+++ b/uv_texture_atlas.py
@@ -77,6 +77,7 @@ def check_group_exist(self, context, use_report=True):
 
 
 class TexAtl_Main(Panel):
+    bl_idname = "UVTEX_ATLAS_PT_main"
     bl_label = "Texture Atlas"
     bl_space_type = 'PROPERTIES'
     bl_region_type = 'WINDOW'