diff --git a/src/SearchAPI/Query/FilterBuilder.php b/src/SearchAPI/Query/FilterBuilder.php
index f75b28b..0bc440b 100644
--- a/src/SearchAPI/Query/FilterBuilder.php
+++ b/src/SearchAPI/Query/FilterBuilder.php
@@ -95,7 +95,25 @@ public function buildFilters(ConditionGroupInterface $condition_group, array $in
             && $conjunction == "OR"
           ) {
             $filters["post_filters"][] = $filter;
-            $filters["facets_post_filters"][$field_id] = $filter;
+            if (isset($filters["facets_post_filters"][$field_id])) {
+              $existing_filter = $filters["facets_post_filters"][$field_id];
+              $merged_values = array_merge(
+                $existing_filter['terms'][$field_id] ?? [],
+                (array) $condition->getValue()
+              );
+
+              $filters["facets_post_filters"][$field_id] = [
+                'terms' => [
+                  $field_id => array_unique($merged_values),
+                ],
+              ];
+            } else {
+              $filters["facets_post_filters"][$field_id] = [
+                'terms' => [
+                  $field_id => (array) $condition->getValue(),
+                ],
+              ];
+            }
           }
           else {
             $filters["filters"][] = $filter;
