diff --git a/datahandling/datahandling_interface.py b/datahandling/datahandling_interface.py
index 2ffe06a0752e5b7b2dfb9006310bce03d8ed903c..b8eec497153981912404f6e61a1baed47d0c3d52 100644
--- a/datahandling/datahandling_interface.py
+++ b/datahandling/datahandling_interface.py
@@ -211,7 +211,7 @@ class DataHandling(ABC):
     # ------------------------------- Communication --------------------------------------------------------------------
 
     @abstractmethod
-    def synchronization_function(self, names, stencil, target, **kwargs) -> Callable[[], None]:
+    def synchronization_function(self, names, stencil=None, target=None, **kwargs) -> Callable[[], None]:
         """Synchronizes ghost layers for distributed arrays.
 
         For serial scenario this has to be called for correct periodicity handling
diff --git a/datahandling/parallel_datahandling.py b/datahandling/parallel_datahandling.py
index 5d3f2a2fa314564621067316de7549cbed7aed0c..03b7c2e817dc07541a24c85c52e7643c77b68845 100644
--- a/datahandling/parallel_datahandling.py
+++ b/datahandling/parallel_datahandling.py
@@ -281,7 +281,7 @@ class ParallelDataHandling(DataHandling):
     def synchronization_function_gpu(self, names, stencil=None, buffered=True, stencil_restricted=False, **_):
         return self.synchronization_function(names, stencil, 'gpu', buffered, stencil_restricted)
 
-    def synchronization_function(self, names, stencil=None, target='cpu', buffered=True, stencil_restricted=False):
+    def synchronization_function(self, names, stencil=None, target=None, buffered=True, stencil_restricted=False):
         if target is None:
             target = self.default_target