diff --git a/src/Avalonia.Base/AvaloniaObject.cs b/src/Avalonia.Base/AvaloniaObject.cs
index 72a3fbe925..2bac41ea00 100644
--- a/src/Avalonia.Base/AvaloniaObject.cs
+++ b/src/Avalonia.Base/AvaloniaObject.cs
@@ -206,7 +206,15 @@ namespace Avalonia
///
/// The property.
/// The value.
- public object? GetValue(AvaloniaProperty property) => property.RouteGetValue(this);
+ public object? GetValue(AvaloniaProperty property)
+ {
+ _ = property ?? throw new ArgumentNullException(nameof(property));
+
+ if (property.IsDirect)
+ return property.RouteGetValue(this);
+ else
+ return _values.GetValue(property);
+ }
///
/// Gets a value.
diff --git a/src/Avalonia.Base/PropertyStore/ValueStore.cs b/src/Avalonia.Base/PropertyStore/ValueStore.cs
index ff1138ec1c..a99955eb07 100644
--- a/src/Avalonia.Base/PropertyStore/ValueStore.cs
+++ b/src/Avalonia.Base/PropertyStore/ValueStore.cs
@@ -2,12 +2,10 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
-using Avalonia.Collections.Pooled;
using Avalonia.Data;
using Avalonia.Diagnostics;
using Avalonia.Logging;
using Avalonia.Utilities;
-using JetBrains.Annotations;
namespace Avalonia.PropertyStore
{