diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt
index f61954bd9ec266b44bd1f2b5370779559bdd87b8..72fbf5af11794ff5d3b80ed16fe6576c071103ea 100644
--- a/test/sumfact/poisson/CMakeLists.txt
+++ b/test/sumfact/poisson/CMakeLists.txt
@@ -60,3 +60,8 @@ dune_add_formcompiler_system_test(UFLFILE poisson_dg_3d.ufl
                                   BASENAME sumfact_poisson_dg_3d_sliced
                                   INIFILE sliced.mini
                                   )
+
+dune_add_formcompiler_system_test(UFLFILE poisson_dg_3d.ufl
+                                  BASENAME sumfact_poisson_dg_3d_diagonal
+                                  INIFILE diagonal.mini
+                                  )
diff --git a/test/sumfact/poisson/diagonal.mini b/test/sumfact/poisson/diagonal.mini
new file mode 100644
index 0000000000000000000000000000000000000000..4fc3703edc2f5ef325ac4172b64c886c4b1c0dcc
--- /dev/null
+++ b/test/sumfact/poisson/diagonal.mini
@@ -0,0 +1,21 @@
+__name = sumfact_poisson_dg_3d_diagonal
+
+cells = 2 2 2
+extension = 1. 1. 1.
+
+[wrapper.vtkcompare]
+name = {__name}
+extension = vtu
+
+[formcompiler]
+sumfact = 1
+exact_solution_expression = g
+compare_l2errorsquared = 1e-5
+vectorize_quad = 0
+vectorize_grads = 0
+vectorize_diagonal = 1
+quadrature_order = 6
+fastdg = 1
+
+[formcompiler.ufl_variants]
+degree = 2