diff --git a/pystencils/gpu/indexing.py b/pystencils/gpu/indexing.py
index 27cb39e454913db4faab579dc366a879c1eb04b7..87893af144b53afa5c6e68f2b4ffee7e755361d6 100644
--- a/pystencils/gpu/indexing.py
+++ b/pystencils/gpu/indexing.py
@@ -398,7 +398,7 @@ def _loop_ctr_assignments(loop_counter_symbols, coordinates, iteration_space):
     loop_ctr_assignments = []
     for loop_counter, coordinate, iter_slice in zip(loop_counter_symbols, coordinates, iteration_space):
         if isinstance(iter_slice, slice) and iter_slice.step > 1:
-            loop_ctr_assignments.append(SympyAssignment(loop_counter, coordinate * iter_slice.step))
+            loop_ctr_assignments.append(SympyAssignment(loop_counter, coordinate * iter_slice.step - iter_slice.start))
         elif iter_slice.start == iter_slice.stop:
             loop_ctr_assignments.append(SympyAssignment(loop_counter, 0))
         else: