diff --git a/src/Avalonia.Controls/ListBox.cs b/src/Avalonia.Controls/ListBox.cs
index 3150b6be91..f26cd47bcb 100644
--- a/src/Avalonia.Controls/ListBox.cs
+++ b/src/Avalonia.Controls/ListBox.cs
@@ -68,7 +68,13 @@ namespace Avalonia.Controls
///
public new IList SelectedItems => base.SelectedItems;
- ///
+ ///
+ /// Gets or sets the selection mode.
+ ///
+ ///
+ /// Note that the selection mode only applies to selections made via user interaction.
+ /// Multiple selections can be made programatically regardless of the value of this property.
+ ///
public new SelectionMode SelectionMode
{
get { return base.SelectionMode; }
diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs
index 91a9fa7e40..6f7bf4eb3f 100644
--- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs
+++ b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs
@@ -222,6 +222,10 @@ namespace Avalonia.Controls.Primitives
///
/// Gets or sets the selection mode.
///
+ ///
+ /// Note that the selection mode only applies to selections made via user interaction.
+ /// Multiple selections can be made programatically regardless of the value of this property.
+ ///
protected SelectionMode SelectionMode
{
get { return GetValue(SelectionModeProperty); }
diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests_Multiple.cs b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests_Multiple.cs
index a33d97779e..a44e23096f 100644
--- a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests_Multiple.cs
+++ b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests_Multiple.cs
@@ -53,7 +53,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
}
[Fact]
- public void Assigning_SelectedItems_Should_Set_SelectedIndex()
+ public void Assigning_Single_SelectedItems_Should_Set_SelectedIndex()
{
var target = new TestSelector
{
@@ -62,9 +62,51 @@ namespace Avalonia.Controls.UnitTests.Primitives
};
target.ApplyTemplate();
+ target.Presenter.ApplyTemplate();
target.SelectedItems = new AvaloniaList