diff --git a/src/pystencils/backend/ast/expressions.py b/src/pystencils/backend/ast/expressions.py
index be60af414656314d0c64e75876208cd81ec3de80..51807d96a1f3468074d6f8ff9f8917c87da014fa 100644
--- a/src/pystencils/backend/ast/expressions.py
+++ b/src/pystencils/backend/ast/expressions.py
@@ -230,7 +230,7 @@ class PsSubscript(PsLvalue, PsExpression):
         return (self._arr,) + tuple(self._index)
 
     def set_child(self, idx: int, c: PsAstNode):
-        idx = range(len(self._index))[idx]
+        idx = range(len(self._index) + 1)[idx]
         match idx:
             case 0:
                 self.array = failing_cast(PsExpression, c)