diff --git a/hysop/backend/host/python/operator/custom.py b/hysop/backend/host/python/operator/custom.py
index 80c64db433db11d3304244899e2642b6006bf5b9..11fce77c656be20b730a93b518c9611dcd5ccae2 100644
--- a/hysop/backend/host/python/operator/custom.py
+++ b/hysop/backend/host/python/operator/custom.py
@@ -66,9 +66,9 @@ class PythonCustomOperator(HostOperator):
                     for _v in v if isinstance(v, VectorField) else (v, ):
                         for vd in self.output_discrete_fields[_v]:
                             doutvar.append(vd)
-                    gh = self.output_discrete_fields[v].build_ghost_exchanger()
-                    if gh is not None:
-                        self.ghost_exchanger.append(gh)
+                        gh = self.output_discrete_fields[_v].build_ghost_exchanger()
+                        if gh is not None:
+                            self.ghost_exchanger.append(gh)
                 elif isinstance(v, Parameter):
                     doutparam.append(v)
         self.dinvar, self.doutvar = tuple(dinvar), tuple(doutvar)