diff --git a/python/dune/perftool/sumfact/sumfact.py b/python/dune/perftool/sumfact/sumfact.py
index e2b1b6ed5a7666a01a0698b3d3e0b858ec95e0a4..ea22fd5d03950c65f2655a99ede0bce491ca5678 100644
--- a/python/dune/perftool/sumfact/sumfact.py
+++ b/python/dune/perftool/sumfact/sumfact.py
@@ -550,12 +550,13 @@ def sum_factorization_kernel(a_matrices,
         if l == 0 and direct_input is not None:
             # See comment bellow
             input_inames = _permute_backward(input_inames, perm)
+            inp_shape = _permute_backward(inp_shape, perm)
 
             globalarg(direct_input, dtype=np.float64, shape=inp_shape)
             if a_matrix.vectorized:
                 input_summand = prim.Call(prim.Variable("Vec4d"),
                                           (prim.Subscript(prim.Variable(direct_input),
-                                                          input_inames)))
+                                                          input_inames),))
             else:
                 input_summand = prim.Subscript(prim.Variable(direct_input),
                                                input_inames + vec_iname)