diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py
index 228e4f5079c75c4d9004a61db1be3bd69a6f1d93..0dea6a074c95ba46f8f94f4adcac17a6a3976106 100644
--- a/python/dune/perftool/pdelab/driver.py
+++ b/python/dune/perftool/pdelab/driver.py
@@ -619,6 +619,18 @@ def name_vtkfile():
     return "vtkfile"
 
 
+@preamble
+def print_matrix():
+    t_go = type_gridoperator()
+    n_go = name_gridoperator()
+    v = name_vector()
+    return ["typedef typename {}::Traits::Jacobian M;".format(t_go),
+            "M m({});".format(n_go),
+            "{}.jacobian({},m);".format(n_go, v),
+            "using Dune::PDELab::Backend::native;",
+            "Dune::printmatrix(std::cout, native(m),\"global stiffness matrix\",\"row\",9,1);"]
+
+
 @preamble
 def vtkoutput():
     include_file("dune/pdelab/gridfunctionspace/vtk.hh", filetag="driver")
@@ -627,5 +639,6 @@ def vtkoutput():
     vec = name_vector()
     vtkfile = name_vtkfile()
     dune_solve()
+    print_matrix()
     return ["Dune::PDELab::addSolutionToVTKWriter({}, {}, {});".format(vtkwriter, gfs, vec),
             "{}.write({}, Dune::VTK::appendedraw);".format(vtkwriter, vtkfile)]