diff --git a/src/riemanniantrsolver.cc b/src/riemanniantrsolver.cc
index 7b09fe799be6bf8e2b00caa73e2852048bdd2bbb..0e386667200b54ccb024f7eac92f5901a821922a 100644
--- a/src/riemanniantrsolver.cc
+++ b/src/riemanniantrsolver.cc
@@ -383,15 +383,8 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve()
             if (!fpRod)
                 DUNE_THROW(SolverError, "Couldn't open file " << iRodFilename << " for writing");
             
-            for (int j=0; j<x_.size(); j++) {
-
-                for (int k=0; k<3; k++)
-                    fwrite(&x_[j].r[k], sizeof(double), 1, fpRod);
-
-                for (int k=0; k<4; k++)  // 3d hardwired here!
-                    fwrite(&x_[j].q[k], sizeof(double), 1, fpRod);
-
-            }
+            for (int j=0; j<x_.size(); j++)
+                fwrite(&x_[j], sizeof(TargetSpace), 1, fpRod);
 
             fclose(fpRod);