diff --git a/python/dune/codegen/pdelab/localoperator.py b/python/dune/codegen/pdelab/localoperator.py
index db5ca4265f76d261ee38d6eefa7075f305558f48..95c946b5792962d52c0419fd67c425f303c78fb5 100644
--- a/python/dune/codegen/pdelab/localoperator.py
+++ b/python/dune/codegen/pdelab/localoperator.py
@@ -942,6 +942,8 @@ def generate_jacobian_kernels(form, original_form):
                 if get_form_option("sumfact"):
                     was_sumfact = True
                     if get_form_option("sumfact_regular_jacobians"):
+                        old_geometry_mixins = get_form_option("geometry_mixins")
+                        set_form_option("geometry_mixins", "generic")
                         set_form_option("sumfact", False)
                 for measure in set(i.integral_type() for i in jacform.integrals()):
                     if not measure_is_enabled(measure):
@@ -966,6 +968,7 @@ def generate_jacobian_kernels(form, original_form):
                 if get_form_option("sumfact_regular_jacobians"):
                     if was_sumfact:
                         set_form_option("sumfact", True)
+                        set_form_option("geometry_mixins", old_geometry_mixins)
 
     return operator_kernels