diff --git a/python/dune/perftool/sumfact/basis.py b/python/dune/perftool/sumfact/basis.py
index 4657cded8e573d3f366d38978341ef686ab9049d..a2e774e4e566fcdef747da4418539f9f612dc637 100644
--- a/python/dune/perftool/sumfact/basis.py
+++ b/python/dune/perftool/sumfact/basis.py
@@ -109,7 +109,7 @@ def pymbolic_coefficient_gradient(element, restriction, component, coeff_func, v
     for i, buf in enumerate(buffers):
         # Write solution from sumfactorization to gradient variable
         assignee = prim.Subscript(prim.Variable(name), i)
-        expression = prim.Subscript(buf, tuple(prim.Variable(i) for i in quadrature_inames()))
+        expression = prim.Subscript(buf, vsf.quadrature_index(sf))
         instruction(assignee=assignee,
                     expression=expression,
                     forced_iname_deps=frozenset(get_backend("quad_inames")()),
@@ -141,7 +141,7 @@ def pymbolic_coefficient(element, restriction, component, coeff_func, visitor):
     var, _ = realize_sum_factorization_kernel(vsf)
 
     return prim.Subscript(var,
-                          tuple(prim.Variable(i) for i in quadrature_inames()) + vsf.vec_index_tuple(sf)
+                          vsf.quadrature_index(sf)
                           ), visitor.indices