diff --git a/src/OrchardCore.Modules/OrchardCore.Menu/Controllers/AdminController.cs b/src/OrchardCore.Modules/OrchardCore.Menu/Controllers/AdminController.cs index 775166950ab..400f757d4af 100644 --- a/src/OrchardCore.Modules/OrchardCore.Menu/Controllers/AdminController.cs +++ b/src/OrchardCore.Modules/OrchardCore.Menu/Controllers/AdminController.cs @@ -271,8 +271,9 @@ public async Task Delete(string menuContentItemId, string menuIte return NotFound(); } - var menuItems = menuContentAsJson[nameof(MenuItemsListPart)]?[nameof(MenuItemsListPart.MenuItems)] as JsonArray; - menuItems?.Remove(menuItem); + var menuItems = menuContentAsJson.SelectNode(menuItem.Parent.GetPath()) as JsonArray; + + menuItems.Remove(menuItem); await _contentManager.SaveDraftAsync(menu);