diff --git a/src/Avalonia.X11/Clipboard/X11Clipboard.cs b/src/Avalonia.X11/Clipboard/X11Clipboard.cs index b257b0d525..f0f4561945 100644 --- a/src/Avalonia.X11/Clipboard/X11Clipboard.cs +++ b/src/Avalonia.X11/Clipboard/X11Clipboard.cs @@ -50,7 +50,10 @@ namespace Avalonia.X11.Clipboard { if (ev.type == XEventName.SelectionClear) { - _storedDataTransfer = null; + // We night have already regained the clipboard ownership by the time a SelectionClear message arrives. + if (GetOwner() != _handle) + _storedDataTransfer = null; + _storeAtomTcs?.TrySetResult(true); return; }