diff --git a/src/Avalonia.Controls/MenuItem.cs b/src/Avalonia.Controls/MenuItem.cs
index 11c42f2ef3..5e7c83fcbd 100644
--- a/src/Avalonia.Controls/MenuItem.cs
+++ b/src/Avalonia.Controls/MenuItem.cs
@@ -304,7 +304,7 @@ namespace Avalonia.Controls
bool IMenuItem.IsPointerOverSubMenu => _popup?.IsPointerOverPopup ?? false;
///
- IMenuElement? IMenuItem.Parent => Parent as IMenuElement;
+ IMenuElement? IMenuItem.Parent => this.FindLogicalAncestorOfType();
protected override bool IsEnabledCore => base.IsEnabledCore && _commandCanExecute;