diff --git a/packages/desktop-client/src/components/accounts/Account.jsx b/packages/desktop-client/src/components/accounts/Account.jsx
index 01bcc5abd851fc6d46343c5db68b6a1198f05da4..b946bcbabae6730a591cd44cb03fe530cb260453 100644
--- a/packages/desktop-client/src/components/accounts/Account.jsx
+++ b/packages/desktop-client/src/components/accounts/Account.jsx
@@ -1113,10 +1113,10 @@ class AccountInternal extends PureComponent {
     );
   };
 
-  onConditionsOpChange = (value, conditions) => {
+  onConditionsOpChange = value => {
     this.setState({ filterConditionsOp: value });
     this.setState({ filterId: { ...this.state.filterId, status: 'changed' } });
-    this.applyFilters([...conditions]);
+    this.applyFilters([...this.state.filterConditions]);
     if (this.state.search !== '') {
       this.onSearch(this.state.search);
     }
diff --git a/packages/desktop-client/src/components/filters/FiltersStack.tsx b/packages/desktop-client/src/components/filters/FiltersStack.tsx
index 3af0c68b736915ef8af9fa34dc48a0f7d746ad5c..02576c5de1da97841ad8d59b6cb7d957e5e1565e 100644
--- a/packages/desktop-client/src/components/filters/FiltersStack.tsx
+++ b/packages/desktop-client/src/components/filters/FiltersStack.tsx
@@ -34,7 +34,7 @@ export function FiltersStack({
   onReloadSavedFilter: (savedFilter: SavedFilter, value?: string) => void;
   filterId: SavedFilter;
   savedFilters: TransactionFilterEntity[];
-  onConditionsOpChange: () => void;
+  onConditionsOpChange: (value: 'and' | 'or') => void;
 }) {
   return (
     <View>
diff --git a/packages/desktop-client/src/components/modals/EditRule.jsx b/packages/desktop-client/src/components/modals/EditRule.jsx
index c36e331dc95c9dc1fc51232e86ed082666c9bdde..c409c77f51a166a2b1d544c4bc3e095bde696d00 100644
--- a/packages/desktop-client/src/components/modals/EditRule.jsx
+++ b/packages/desktop-client/src/components/modals/EditRule.jsx
@@ -94,7 +94,7 @@ export function FieldSelect({ fields, style, value, onChange }) {
         bare
         options={fields}
         value={value}
-        onChange={value => onChange('field', value)}
+        onChange={onChange}
         buttonStyle={{ color: theme.pageTextPositive }}
       />
     </View>
@@ -260,7 +260,11 @@ function ConditionEditor({
 
   return (
     <Editor style={editorStyle} error={error}>
-      <FieldSelect fields={conditionFields} value={field} onChange={onChange} />
+      <FieldSelect
+        fields={conditionFields}
+        value={field}
+        onChange={value => onChange('field', value)}
+      />
       <OpSelect ops={ops} value={op} type={type} onChange={onChange} />
 
       <View style={{ flex: 1 }}>{valueEditor}</View>
@@ -373,7 +377,7 @@ function ActionEditor({ action, editorStyle, onChange, onDelete, onAdd }) {
           <FieldSelect
             fields={options?.splitIndex ? splitActionFields : actionFields}
             value={field}
-            onChange={onChange}
+            onChange={value => onChange('field', value)}
           />
 
           <View style={{ flex: 1 }}>
@@ -838,7 +842,7 @@ export function EditRule({ defaultRule, onSave: originalOnSave }) {
     setStage(stage);
   }
 
-  function onChangeConditionsOp(name, value) {
+  function onChangeConditionsOp(value) {
     setConditionsOp(value);
   }
 
diff --git a/upcoming-release-notes/3278.md b/upcoming-release-notes/3278.md
new file mode 100644
index 0000000000000000000000000000000000000000..49cbfcaf6e3d48e13fa1dc03802f307c6b8797bd
--- /dev/null
+++ b/upcoming-release-notes/3278.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [lelemm]
+---
+
+Filter fix when alternating all <-> any