diff --git a/python/dune/codegen/sumfact/geometry.py b/python/dune/codegen/sumfact/geometry.py
index 3a9a5a5ad9a6ea240bfc4ffc2534f610e12eb97d..08e9d43e8fe685b3b24b60bd10be418b5f078ad7 100644
--- a/python/dune/codegen/sumfact/geometry.py
+++ b/python/dune/codegen/sumfact/geometry.py
@@ -525,6 +525,7 @@ def name_meshwidth():
     return name
 
 
+@kernel_cached
 def _name_jacobian(i, j, restriction, visitor):
     """Return the (i, j) component of the jacobian of the geometry mapping
 
@@ -534,8 +535,6 @@ def _name_jacobian(i, j, restriction, visitor):
     Note: At the moment this only works for the mappings from reference cells
     to the cell and not for the geometry mappings of intersections.
     """
-    do_predicates = visitor.do_predicates
-
     # Create matrix sequence with derivative in j direction
     matrix_sequence = construct_basis_matrix_sequence(derivative=j,
                                                       facedir=get_facedir(restriction),