diff --git a/lbmpy_walberla/templates/LatticeModel.tmpl.h b/lbmpy_walberla/templates/LatticeModel.tmpl.h
index b5f2d37c871d00ae100be57389b1fd46df651599..42241363c2124bf56df86f30da220646c110396c 100644
--- a/lbmpy_walberla/templates/LatticeModel.tmpl.h
+++ b/lbmpy_walberla/templates/LatticeModel.tmpl.h
@@ -135,9 +135,15 @@ private:
     void configureBlock(IBlock * block, StructuredBlockStorage * storage)
     {
         {{stream_collide_kernel|generate_block_data_to_field_extraction(lmIgnores+lmOffsets, no_declarations=True)|indent(8)}}
+        {% if need_block_offsets[0] -%}
         block_offset_0 = uint32_c(storage->getBlockCellBB(*block).xMin());
+        {% endif -%}
+        {%- if need_block_offsets[1] -%}
         block_offset_1 = uint32_c(storage->getBlockCellBB(*block).yMin());
+        {% endif -%}
+        {%- if need_block_offsets[2] -%}
         block_offset_2 = uint32_c(storage->getBlockCellBB(*block).zMin());
+        {% endif %}
         blockId = &block->getId();
 
         {% if refinement_scaling -%}
@@ -171,7 +177,7 @@ private:
 
             currentLevel = targetLevel;
         }
-        {% endif -%}
+        {% endif %}
     }
 
     // Updated by configureBlock:
diff --git a/lbmpy_walberla/walberla_lbm_generation.py b/lbmpy_walberla/walberla_lbm_generation.py
index 5a4f07ac7c0c3443be9b4d7fbd9b5a963a6666e3..66d5ae75f13196a0189b52865aae54e22a15069e 100644
--- a/lbmpy_walberla/walberla_lbm_generation.py
+++ b/lbmpy_walberla/walberla_lbm_generation.py
@@ -95,6 +95,7 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as
         'target': 'cpu',
         'namespace': 'lbm',
         'headers': required_headers,
+        'need_block_offsets': ['block_offset_{}'.format(i) in [param.symbol.name for param in stream_collide_ast.get_parameters()] for i in range(3)],
     }
 
     env = Environment(loader=PackageLoader('lbmpy_walberla'))