diff --git a/python/dune/perftool/sumfact/sumfact.py b/python/dune/perftool/sumfact/sumfact.py
index 408302b22a0bf38fec226c1b80d81b8df78089ed..210677bf7b369f926394c3e1d537437b88bbe116 100644
--- a/python/dune/perftool/sumfact/sumfact.py
+++ b/python/dune/perftool/sumfact/sumfact.py
@@ -493,6 +493,7 @@ def sum_factorization_kernel(a_matrices,
         return SumfactKernel(a_matrices, buf, stage, preferred_position, restriction), frozenset()
 
     ftags = ",".join(["f"]*len(a_matrices))
+    novec_ftags = ftags
     ctags = ",".join(["c"]*len(a_matrices))
     vec_shape = ()
     if next(iter(a_matrices)).vectorized:
@@ -556,11 +557,11 @@ def sum_factorization_kernel(a_matrices,
         # * a value from a global data structure, broadcasted to a vector type (vectorized + FastDGGridOperator)
         input_inames = (k_expr,) + tuple(prim.Variable(j) for j in out_inames[1:])
         if l == 0 and direct_input is not None:
-            # See comment bellow
+            # See comment below
             input_inames = _permute_backward(input_inames, perm)
             inp_shape = _permute_backward(inp_shape, perm)
 
-            globalarg(direct_input, dtype=np.float64, shape=inp_shape)
+            globalarg(direct_input, dtype=np.float64, shape=inp_shape, dim_tags=novec_ftags)
             if a_matrix.vectorized:
                 input_summand = prim.Call(prim.Variable("Vec4d"),
                                           (prim.Subscript(prim.Variable(direct_input),
@@ -627,7 +628,6 @@ def sum_factorization_kernel(a_matrices,
         # of the Sumfactorization into some global data structure.
         if l == len(a_matrices)-1 and direct_output is not None:
             ft = get_global_context_value("form_type")
-            novec_ftags = ",".join(["f"]*len(a_matrices))
             if ft == 'residual' or ft == 'jacobian_apply':
                 globalarg(direct_output, dtype=np.float64, shape=output_shape, dim_tags=novec_ftags)
                 assignee = prim.Subscript(prim.Variable(direct_output), output_inames)