diff --git a/lbmpy/advanced_streaming/communication.py b/lbmpy/advanced_streaming/communication.py
index 6e6ffca942fc9ba2bad7eb775cee9070f0c7dd7c..bf073466bd1e97fb063888bb62598b332b3e6aa6 100644
--- a/lbmpy/advanced_streaming/communication.py
+++ b/lbmpy/advanced_streaming/communication.py
@@ -135,7 +135,9 @@ def get_communication_slices(
 
             write_offsets = numeric_offsets(write_accesses[d])
             tangential_dir = tuple(s - c for s, c in zip(streaming_dir, comm_dir))
-            src_slice = shift_slice(_trim_slice_in_direction(src_slice, tangential_dir), write_offsets)
+            
+            if streaming_pattern != "pull":
+                src_slice = shift_slice(_trim_slice_in_direction(src_slice, tangential_dir), write_offsets)
 
             neighbour_transform = _get_neighbour_transform(comm_dir, ghost_layers)
             dst_slice = shift_slice(src_slice, neighbour_transform)