diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc
index 778effaa91120f11ee753d52aadeb13c716011ca..bacafb19a437ffd87b2fd564000404c8fca6db16 100644
--- a/dune/gfe/riemanniantrsolver.cc
+++ b/dune/gfe/riemanniantrsolver.cc
@@ -351,7 +351,8 @@ void RiemannianTrustRegionSolver<Basis,TargetSpace>::solve()
                                                localMapper,
                                                0);
 #endif
-    for (int i=0; i<maxTrustRegionSteps_; i++) {
+    auto& i = statistics_.finalIteration;
+    for (i=0; i<maxTrustRegionSteps_; i++) {
 
 /*        std::cout << "current iterate:\n";
         for (size_t j=0; j<x_.size(); j++)
@@ -643,4 +644,6 @@ void RiemannianTrustRegionSolver<Basis,TargetSpace>::solve()
     // //////////////////////////////////////////////
     if (instrumented_)
         fclose(fp);
+
+    statistics_.finalEnergy = oldEnergy;
 }
diff --git a/dune/gfe/riemanniantrsolver.hh b/dune/gfe/riemanniantrsolver.hh
index add3d56d61c31853ab262531d23a93892bd08b1a..7c91aac16855a8ee36e765b19d388e7ded0388cf 100644
--- a/dune/gfe/riemanniantrsolver.hh
+++ b/dune/gfe/riemanniantrsolver.hh
@@ -92,6 +92,16 @@ class RiemannianTrustRegionSolver
     typedef typename MapperFactory<typename Basis::GridView,Basis>::LocalMapper LocalMapper;
 #endif
 
+    /** \brief Records information about the last run of the RiemannianTrustRegionSolver
+     *
+     * This is used primarily for unit testing.
+     */
+    struct Statistics
+    {
+      std::size_t finalIteration;
+
+      field_type finalEnergy;
+    };
 
 public:
 
@@ -144,6 +154,8 @@ public:
 
     SolutionType getSol() const {return x_;}
 
+    const Statistics& getStatistics() const {return statistics_;}
+
 protected:
 
 #if HAVE_MPI
@@ -163,7 +175,7 @@ protected:
     Dune::FieldVector<double,blocksize> scaling_;
 
     /** \brief Maximum number of trust-region steps */
-    int maxTrustRegionSteps_;
+    std::size_t maxTrustRegionSteps_;
 
     /** \brief Maximum number of multigrid iterations */
     int innerIterations_;
@@ -195,6 +207,8 @@ protected:
     /** \brief If set to true we log convergence speed and other stuff */
     bool instrumented_;
 
+    /** \brief Store information about solver runs for unit testing */
+    Statistics statistics_;
 };
 
 #include "riemanniantrsolver.cc"