diff --git a/src/Avalonia.Controls/MenuItem.cs b/src/Avalonia.Controls/MenuItem.cs
index 5e7c83fcbd..11c42f2ef3 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 => this.FindLogicalAncestorOfType();
+ IMenuElement? IMenuItem.Parent => Parent as IMenuElement;
protected override bool IsEnabledCore => base.IsEnabledCore && _commandCanExecute;
diff --git a/src/Windows/Avalonia.Win32/Win32NativeToManagedMenuExporter.cs b/src/Windows/Avalonia.Win32/Win32NativeToManagedMenuExporter.cs
index fa6f9927b5..da8357a6f1 100644
--- a/src/Windows/Avalonia.Win32/Win32NativeToManagedMenuExporter.cs
+++ b/src/Windows/Avalonia.Win32/Win32NativeToManagedMenuExporter.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Controls.Platform;
@@ -15,13 +16,15 @@ namespace Avalonia.Win32
_nativeMenu = nativeMenu;
}
- private IEnumerable