--- /src/Hook/QueryHooks.php	2026-03-18 23:07:39.469662911 +0100
+++ /src/Hook/QueryHooks.php	2025-11-11 16:29:42.000000000 +0100
@@ -49,46 +49,23 @@
           $affectedColumns[] = "{$table}.{$column}";
         }
       }
-
-      /**
-       * Recursive helper to handle nested Condition objects (e.g. Autocomplete OR groups).
-       */
-      $recursiveFix = function (&$conds) use (&$recursiveFix, $affectedColumns, $dbLocale) {
-        foreach ($conds as &$condition) {
-          if (!isset($condition['field'])) {
-            continue;
-          }
-
-          // Handle nested Condition objects by accessing the protected conditions array via public method.
-          if (is_object($condition['field']) && method_exists($condition['field'], 'conditions')) {
-            $sub_conditions = &$condition['field']->conditions();
-            $recursiveFix($sub_conditions);
-          }
-          // Original logic for string-based fields.
-          elseif (is_string($condition['field'])) {
-            foreach ($affectedColumns as $aff_column) {
-              if (strpos($condition['field'], $aff_column) !== FALSE) {
-                $condition['field'] = str_replace($aff_column, $aff_column . $dbLocale, $condition['field']);
-              }
-            }
-          }
-        }
-      };
-
       $class = get_class($query);
       if ($class == 'Drupal\search_api\Plugin\views\query\SearchApiQuery' && method_exists($query, "getWhere")) {
-        // Use reference to ensure modifications stick.
-        $where = &$query->getWhere();
+        $where = $query->getWhere();
       }
       elseif (isset($query->where)) {
-        // Use reference to ensure modifications stick.
-        $where = &$query->where;
+        $where = $query->where;
       }
-
       if (!empty($where)) {
         foreach ($where as &$condition_group) {
-          if (isset($condition_group['conditions'])) {
-            $recursiveFix($condition_group['conditions']);
+          foreach ($condition_group['conditions'] as &$condition) {
+            if (!is_object($condition['field'])) {
+              foreach ($affectedColumns as $aff_column) {
+                if (strpos($aff_column, $condition['field']) !== FALSE) {
+                  $condition['field'] = str_replace($aff_column, $aff_column . $dbLocale, $condition['field']);
+                }
+              }
+            }
           }
         }
       }
@@ -137,4 +114,4 @@
     }
   }
 
-}
\ No newline at end of file
+}
