diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py
index f3effdcb84b038a55880cfea8cbf0077e8c6f25c..dcdbdd1c2cd58a8cd8e7b4c0a94fdb9b928c419d 100644
--- a/src/lbmpy/creationfunctions.py
+++ b/src/lbmpy/creationfunctions.py
@@ -626,18 +626,9 @@ def create_lb_update_rule(collision_rule=None, lbm_config=None, lbm_optimisation
 
     if lbm_optimisation.symbolic_temporary_field is not None:
         dst_field = lbm_optimisation.symbolic_temporary_field
-    # else:
-        #   FIXME: Field duplication is currently broken in pystencils.
-        # dst_field = src_field.new_field_with_different_name(lbm_config.temporary_field_name)
-    elif src_field.has_fixed_shape:
-        field_size = src_field.shape
-        dst_field = Field.create_fixed_size(lbm_config.temporary_field_name, field_size, index_dimensions=1,
-                                            layout=lbm_optimisation.field_layout, dtype=fallback_field_data_type)
     else:
-        dst_field = Field.create_generic(lbm_config.temporary_field_name, spatial_dimensions=collision_rule.method.dim,
-                                         index_shape=(q,), layout=lbm_optimisation.field_layout,
-                                         dtype=fallback_field_data_type)
-
+        dst_field = src_field.new_field_with_different_name(lbm_config.temporary_field_name)
+   
     kernel_type = lbm_config.kernel_type
     if kernel_type == 'stream_pull_only':
         update_rule = create_stream_pull_with_output_kernel(lb_method, src_field, dst_field, lbm_config.output)
diff --git a/src/lbmpy/custom_code_nodes.py b/src/lbmpy/custom_code_nodes.py
index cf90a26b1482a0222a56c5a7ddcabbff7490b9eb..d1475367a2f7c95d67e2fc58a5c4796c6217352c 100644
--- a/src/lbmpy/custom_code_nodes.py
+++ b/src/lbmpy/custom_code_nodes.py
@@ -56,7 +56,7 @@ class MirroredStencilDirections(CustomCodeNode):
     def __init__(self, stencil, mirror_axis, dtype=np.int32):
         offsets_dtype = create_type(dtype)
 
-        mirrored_stencil_symbol = MirroredStencilDirections._mirrored_symbol(mirror_axis)
+        mirrored_stencil_symbol = MirroredStencilDirections._mirrored_symbol(mirror_axis, stencil)
         mirrored_directions = [stencil.index(MirroredStencilDirections.mirror_stencil(direction, mirror_axis))
                                for direction in stencil]
         code = "\n"