diff --git a/hysop/backend/device/codegen/functions/directional_remesh.py b/hysop/backend/device/codegen/functions/directional_remesh.py
index 3ed484d795e48ebd117bb10e8f5334d0317781ff..ff439bb0dc387302ef7cd89c6ab7c87148e0b0d4 100644
--- a/hysop/backend/device/codegen/functions/directional_remesh.py
+++ b/hysop/backend/device/codegen/functions/directional_remesh.py
@@ -332,7 +332,7 @@ class DirectionalRemeshFunction(OpenClFunctionCodeGenerator):
                                         else:
                                             code = 'if({}) {{ {}; }}'.format(criteria, atom_add)
                                     else:
-                                        code = atom_add
+                                        code = '{};'.format(atom_add)
                                 else:
                                     inplace_add = '{} += {}'.format(cached_scalar[cache_idx], val)
                                     if (remesh_criteria_eps is not None):
diff --git a/hysop/backend/device/codegen/kernels/directional_remesh.py b/hysop/backend/device/codegen/kernels/directional_remesh.py
index c0d609c852d8bf35ca3f4213ea21748862ccf9a7..e28b37f828e074427853760b4ec10021fe69058d 100644
--- a/hysop/backend/device/codegen/kernels/directional_remesh.py
+++ b/hysop/backend/device/codegen/kernels/directional_remesh.py
@@ -220,7 +220,7 @@ class DirectionalRemeshKernelGenerator(KernelCodeGenerator):
         self.tuning_mode      = tuning_mode
 
         self.gencode()
-        self.edit()
+        #self.edit()
 
     def build_requirements(self, typegen, work_dim, itype, ftype,
             sboundary, nparticles, nscalars, nfields, group_scalars, symbolic_mode,
@@ -701,7 +701,7 @@ class DirectionalRemeshKernelGenerator(KernelCodeGenerator):
                     position_global_id.affect(al, i=0, align=True,
                             init='{} + {}'.format(particle_offset, position_grid_ghosts[0]))
                     if not is_inplace:
-                        #for _gid, _ghosts in zip(scalars_in_global_id, scalars_in_grid_ghosts):
+                        for _gid, _ghosts in zip(scalars_in_global_id, scalars_in_grid_ghosts):
                             _gid.affect(al, i=0, align=True,
                                 init='{} + {}'.format(particle_offset, _ghosts[0]))
                     for _gid, _ghosts in zip(scalars_data_out_global_id, scalars_data_out_grid_ghosts):
diff --git a/hysop/backend/device/opencl/autotunable_kernels/remesh_dir.py b/hysop/backend/device/opencl/autotunable_kernels/remesh_dir.py
index ac66bbf52005df3bcbc4abcbc1ba7e1b87d1eecb..aee89fd51eec7d32aa3a147e85fdaf8a78eb8911 100644
--- a/hysop/backend/device/opencl/autotunable_kernels/remesh_dir.py
+++ b/hysop/backend/device/opencl/autotunable_kernels/remesh_dir.py
@@ -270,7 +270,7 @@ class OpenClAutotunableDirectionalRemeshKernel(OpenClAutotunableKernel):
         force_atomics = extra_kwds['force_atomics']
 
         nparticles_options  = [1,2,4,8,16]
-        use_atomics_options = [False]#[True] if force_atomics else [True, False]
+        use_atomics_options = [True] if force_atomics else [True, False]
         if True in use_atomics_options:
             cl_env = self.cl_env
             msg=None
@@ -387,7 +387,7 @@ class OpenClAutotunableDirectionalRemeshKernel(OpenClAutotunableKernel):
                            use_atomics = use_atomics,
                            symbolic_mode = self.symbolic_mode,
                            tuning_mode = tuning_mode,
-                           debug_mode = True, 
+                           debug_mode = False, 
                            known_vars = known_vars)
         
         kernel_name = codegen.name
diff --git a/hysop/backend/device/opencl/operator/directional/advection_dir.py b/hysop/backend/device/opencl/operator/directional/advection_dir.py
index 89b3ad9be85ffc5676c676f63539f87064322a7b..819034fe55efd0e5d5bac1d60fe3fa57c5d0bf66 100644
--- a/hysop/backend/device/opencl/operator/directional/advection_dir.py
+++ b/hysop/backend/device/opencl/operator/directional/advection_dir.py
@@ -11,7 +11,7 @@ from hysop.backend.device.opencl.opencl_kernel_launcher import OpenClKernelListL
 
 class OpenClDirectionalAdvection(DirectionalAdvectionBase, OpenClDirectionalOperator):
 
-    DEBUG=True
+    DEBUG=False
 
     @debug
     def __init__(self, force_atomics=False, relax_min_particles=False, remesh_criteria_eps=None,
@@ -188,8 +188,6 @@ class OpenClDirectionalAdvection(DirectionalAdvectionBase, OpenClDirectionalOper
             print 'OPENCL_Sout (before accumulation)'
             data = self.dadvected_fields_out.values()[0].data[0]
             print data.get(queue=queue)
-            import sys
-            sys.exit(1)
             print 'OPENCL_Sout (before accumulation, no ghosts)  ID={}'.format(id(data))
             self.dadvected_fields_out.values()[0].print_with_ghosts()
             self.accumulate_and_exchange(queue=queue).wait()
diff --git a/hysop/operator/tests/test_directional_advection.py b/hysop/operator/tests/test_directional_advection.py
index e06b1c041855c783e74447ebf0bcd0c12757b737..7a5450553eabeac140503ec107eca78129c4e3ad 100644
--- a/hysop/operator/tests/test_directional_advection.py
+++ b/hysop/operator/tests/test_directional_advection.py
@@ -117,8 +117,7 @@ class TestDirectionalAdvectionOperator(object):
         dt = velocity_cfl * np.divide(domain.length, shape).min()
         dt = ScalarParameter('dt', initial_value=dt, constant=True)
 
-        #ref_impl = Implementation.PYTHON
-        ref_impl = Implementation.OPENCL
+        ref_impl = Implementation.PYTHON
         implementations = DirectionalAdvection.implementations().keys()
         assert ref_impl in implementations
         implementations.remove(ref_impl)
@@ -242,7 +241,7 @@ class TestDirectionalAdvectionOperator(object):
                                     if (max_di>max_tol):
                                         print '\nFATAL ERROR: Could not match other implementation results.'
                                         print '\nComparisson failed at step {} and component {}:'.format(k,i)
-                                        for (j,dv) in dvin.iter_fields():
+                                        for (j,dv) in dvin.nd_iter():
                                             print 'VELOCITY INPUT {}'.format(DirectionLabels[j])
                                             print dv.sdata[dv.compute_slices]
                                         print 'SCALAR INPUT'