diff --git a/src/app/configs/data/shortcuts.xml b/src/app/configs/data/shortcuts.xml
index b37443d1f8fd3..4087c439005bf 100644
--- a/src/app/configs/data/shortcuts.xml
+++ b/src/app/configs/data/shortcuts.xml
@@ -914,10 +914,12 @@
toggle-piano-keyboard
P
+ 0
toggle-percussion-panel
O
+ 0
inspector
diff --git a/src/app/configs/data/shortcuts_azerty.xml b/src/app/configs/data/shortcuts_azerty.xml
index 7bca1608df1bc..35fbc6bbebd57 100644
--- a/src/app/configs/data/shortcuts_azerty.xml
+++ b/src/app/configs/data/shortcuts_azerty.xml
@@ -955,10 +955,12 @@
toggle-piano-keyboard
P
+ 0
toggle-percussion-panel
O
+ 0
inspector
diff --git a/src/app/configs/data/shortcuts_mac.xml b/src/app/configs/data/shortcuts_mac.xml
index 2f15739dfd674..95722db836921 100644
--- a/src/app/configs/data/shortcuts_mac.xml
+++ b/src/app/configs/data/shortcuts_mac.xml
@@ -915,10 +915,12 @@
toggle-piano-keyboard
P
+ 0
toggle-percussion-panel
O
+ 0
inspector
diff --git a/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp b/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp
index a5923a08cc1a2..b56058f6f367b 100644
--- a/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp
+++ b/src/framework/dockwindow/qml/Muse/Dock/dockpanelview.cpp
@@ -92,6 +92,10 @@ class DockPanelView::DockPanelMenuModel : public muse::uicomponents::AbstractMen
connect(model, &AbstractMenuModel::itemChanged, this, [this](MenuItem* item) {
updateItem(item);
});
+
+ connect(model, &AbstractMenuModel::destroyed, this, [this]() {
+ m_customMenuModel = nullptr;
+ });
}
private:
diff --git a/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp b/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp
index 3e6d81f3a6037..159d2e0ffad85 100644
--- a/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp
+++ b/src/framework/dockwindow/thirdparty/KDDockWidgets/src/private/LayoutWidget.cpp
@@ -116,6 +116,10 @@ void LayoutWidget::restorePlaceholder(DockWidgetBase *dw, Layouting::Item *item,
auto frame = qobject_cast(item->guestAsQObject());
Q_ASSERT(frame);
+ if (frame->beingDeletedLater()) {
+ return;
+ }
+
if (tabIndex != -1 && frame->dockWidgetCount() >= tabIndex) {
frame->insertWidget(dw, tabIndex);
} else {