diff --git a/python/pystencils_walberla/jinja_filters.py b/python/pystencils_walberla/jinja_filters.py
index ee79ef903fae7add43ac4b791f0e5cdccf8cc718..680da539814431d648a14d2e606241fe6079d5da 100644
--- a/python/pystencils_walberla/jinja_filters.py
+++ b/python/pystencils_walberla/jinja_filters.py
@@ -163,18 +163,18 @@ def generate_block_data_to_field_extraction(ctx, kernel_info, parameters_to_igno
     }
     result = "\n".join(
         field_extraction_code(field=field, is_temporary=False, update_member=update_member, **args) for field in
-        normal_fields) + "\n"
+        normal_fields)
     result += "\n".join(
         field_extraction_code(field=field, is_temporary=True, update_member=update_member, **args) for field in
         temporary_fields)
-    return result
+    return "\n".join(sorted(result.split("\n")))
 
 
 def generate_refs_for_kernel_parameters(kernel_info, prefix, parameters_to_ignore=(), ignore_fields=False):
     symbols = {p.field_name for p in kernel_info.parameters if p.is_field_pointer and not ignore_fields}
     symbols.update(p.symbol.name for p in kernel_info.parameters if not p.is_field_parameter)
     symbols.difference_update(parameters_to_ignore)
-    return "\n".join("auto & %s = %s%s_;" % (s, prefix, s) for s in symbols)
+    return "\n".join(sorted("auto & %s = %s%s_;" % (s, prefix, s) for s in symbols))
 
 
 @jinja2.contextfilter
@@ -365,7 +365,7 @@ def generate_members(ctx, kernel_info, parameters_to_ignore=(), only_fields=Fals
     if hasattr(kernel_info, 'varying_parameters'):
         result.extend(["%s %s_;" % e for e in kernel_info.varying_parameters])
 
-    return "\n".join(result)
+    return "\n".join(sorted(result))
 
 
 def generate_destructor(kernel_info, class_name):