diff --git a/cpu/kernelcreation.py b/cpu/kernelcreation.py
index 3b6fabaa4197ea51a4b9856aa42e87e373502fe9..d3db5d9787a3e3e0b89cf952147cc99c9a0f87c0 100644
--- a/cpu/kernelcreation.py
+++ b/cpu/kernelcreation.py
@@ -82,7 +82,6 @@ def create_kernel(assignments: AssignmentOrAstNodeList, function_name: str = "ke
     if any(FieldType.is_buffer(f) for f in all_fields):
         resolve_buffer_accesses(ast_node, get_base_buffer_index(ast_node), read_only_fields)
     resolve_field_accesses(ast_node, read_only_fields, field_to_base_pointer_info=base_pointer_info)
-    substitute_array_accesses_with_constants(ast_node)
     move_constants_before_loop(ast_node)
     ast_node.compile = partial(make_python_function, ast_node)
     return ast_node
@@ -148,7 +147,6 @@ def create_indexed_kernel(assignments: AssignmentOrAstNodeList, index_fields, fu
 
     read_only_fields = set([f.name for f in fields_read - fields_written])
     resolve_field_accesses(ast_node, read_only_fields, field_to_fixed_coordinates=fixed_coordinate_mapping)
-    substitute_array_accesses_with_constants(ast_node)
     move_constants_before_loop(ast_node)
     ast_node.compile = partial(make_python_function, ast_node)
     return ast_node
diff --git a/gpucuda/kernelcreation.py b/gpucuda/kernelcreation.py
index da3b39df5bf8d38418f9688341a5cfb19bdaa082..3fa8efddf6a6cd31df48f00539db7706f4baff83 100644
--- a/gpucuda/kernelcreation.py
+++ b/gpucuda/kernelcreation.py
@@ -72,8 +72,6 @@ def create_cuda_kernel(assignments, function_name="kernel", type_info=None, inde
     resolve_field_accesses(ast, read_only_fields, field_to_base_pointer_info=base_pointer_info,
                            field_to_fixed_coordinates=coord_mapping)
 
-    substitute_array_accesses_with_constants(ast)
-
     # add the function which determines #blocks and #threads as additional member to KernelFunction node
     # this is used by the jit
 
@@ -138,7 +136,6 @@ def created_indexed_cuda_kernel(assignments, index_fields, function_name="kernel
     coord_mapping.update({f.name: coordinate_typed_symbols for f in non_index_fields})
     resolve_field_accesses(ast, read_only_fields, field_to_fixed_coordinates=coord_mapping,
                            field_to_base_pointer_info=base_pointer_info)
-    substitute_array_accesses_with_constants(ast)
 
     # add the function which determines #blocks and #threads as additional member to KernelFunction node
     # this is used by the jit