diff --git a/python/dune/codegen/pdelab/localoperator.py b/python/dune/codegen/pdelab/localoperator.py
index d9cef775016dcf3e84aba93effc3fdef0650df5a..e048c4f98d516cedbad751585647cbeb4c11c01d 100644
--- a/python/dune/codegen/pdelab/localoperator.py
+++ b/python/dune/codegen/pdelab/localoperator.py
@@ -929,6 +929,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()):
                     logger.info("generate_jacobian_kernels: measure {}".format(measure))
@@ -950,6 +952,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