diff --git a/src/Avalonia.Base/Data/Core/UntypedBindingExpressionBase.cs b/src/Avalonia.Base/Data/Core/UntypedBindingExpressionBase.cs
index fc0135b199..20686c3546 100644
--- a/src/Avalonia.Base/Data/Core/UntypedBindingExpressionBase.cs
+++ b/src/Avalonia.Base/Data/Core/UntypedBindingExpressionBase.cs
@@ -403,6 +403,9 @@ public abstract class UntypedBindingExpressionBase : BindingExpressionBase,
/// The new binding or data validation error.
private protected void PublishValue(object? value, BindingError? error = null)
{
+ if (!IsRunning)
+ return;
+
// When binding to DataContext and the expression results in a binding error, the binding
// expression should produce null rather than UnsetValue in order to not propagate
// incorrect DataContexts from parent controls while things are being set up.
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceExtensionTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceExtensionTests.cs
index 9379f94edd..05b77b5325 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceExtensionTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceExtensionTests.cs
@@ -924,6 +924,42 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
window.Content = null;
}
+ [Fact]
+ public void Handles_Clearing_Resources_With_Dynamic_Theme_In_Dynamic_Template()
+ {
+ // Issue #14753
+ using var app = UnitTestApplication.Start(TestServices.StyledWindow);
+ var xaml = """
+
+
+ Blue
+
+
+
+
+
+
+
+
+
+
+
+
+
+""";
+
+ var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml);
+ window.Show();
+
+ var button = Assert.IsType