diff --git a/WineFix/Patches/ContextBarItemStylePatch.cs b/WineFix/Patches/ContextBarItemStylePatch.cs
new file mode 100644
index 0000000..b84c8ca
--- /dev/null
+++ b/WineFix/Patches/ContextBarItemStylePatch.cs
@@ -0,0 +1,148 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Windows;
+using System.Windows.Controls;
+using HarmonyLib;
+using AffinityPluginLoader.Core;
+
+namespace WineFix.Patches
+{
+ ///
+ /// Fixes the empty Leading dropdown in the text context toolbar (Affinity 3.3).
+ ///
+ /// LeadingComboItemStyle and CheckedComboBoxItemStyle in ContextBarItemTemplates.xaml set
+ /// no template of their own; they are BasedOn the implicit CheckedComboBoxItem style and
+ /// expect Core.xaml's. Affinity 3.3 merged ReflectedLayoutItemTemplates.xaml into the same
+ /// dictionary, and its implicit CheckedComboBoxItem style has an empty ControlTemplate (a
+ /// base its own derived styles replace). The merged dictionary is searched first, so the
+ /// dropdown items get no visual tree and the list opens with zero height.
+ ///
+ /// Replacing the dictionary entries does not help: the context bar's DataTemplates keep the
+ /// style objects their StaticResource references were bound to. Instead, when a
+ /// CheckedComboBox applies its template, an ItemContainerStyle whose inherited template is
+ /// empty is swapped for a copy BasedOn Core.xaml's style. Styles with a real template,
+ /// including Reflected's own, are left alone, as is everything once Serif fixes the XAML.
+ ///
+ public static class ContextBarItemStylePatch
+ {
+ private static readonly Dictionary