diff --git a/src/gravity.c b/src/gravity.c
index 56299e56c9900e64a1b9b8768a32bad4d895cb38..bb06d81027f79d60099bd695df41d34d738936f2 100644
--- a/src/gravity.c
+++ b/src/gravity.c
@@ -20,6 +20,9 @@
 /* Config parameters. */
 #include "../config.h"
 
+/* Some standard headers. */
+#include <stdio.h>
+
 /* This object's header. */
 #include "gravity.h"
 
@@ -116,7 +119,7 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
 
 #ifdef SWIFT_GRAVITY_FORCE_CHECKS
 
-  //const double const_G = e->physical_constants->const_newton_G;
+  // const double const_G = e->physical_constants->const_newton_G;
 
   int counter = 0;
 
@@ -127,6 +130,14 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
   float err_rel_mean2 = 0.f;
   float err_rel_std = 0.f;
 
+  char file_name[100];
+  sprintf(file_name, "gravity_checks_step%d_order%d.dat", e->step,
+          SELF_GRAVITY_MULTIPOLE_ORDER);
+  FILE *file = fopen(file_name, "w");
+  fprintf(
+      file,
+      "# id a_exact[0] a_exact[1] a_exact[2] a_grav[0] a_grav[1] a_grav[2]\n");
+
   for (size_t i = 0; i < s->nr_gparts; ++i) {
 
     struct gpart *gpi = &s->gparts[i];
@@ -135,29 +146,35 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
     if (gpi->id_or_neg_offset % SWIFT_GRAVITY_FORCE_CHECKS == 0 &&
         gpart_is_starting(gpi, e)) {
 
+      fprintf(file, "%16lld %12.5e %12.5e %12.5e %12.5e %12.5e %12.5e \n",
+              gpi->id_or_neg_offset, gpi->a_grav_exact[0], gpi->a_grav_exact[1],
+              gpi->a_grav_exact[2], gpi->a_grav[0], gpi->a_grav[1],
+              gpi->a_grav[2]);
+
       const float diff[3] = {gpi->a_grav[0] - gpi->a_grav_exact[0],
-			     gpi->a_grav[1] - gpi->a_grav_exact[1],
-			     gpi->a_grav[2] - gpi->a_grav_exact[2]};
-
-      const float diff_norm = sqrtf(diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2]);
-      const float a_norm = sqrtf( gpi->a_grav_exact[0] * gpi->a_grav_exact[0] +
-				  gpi->a_grav_exact[1] * gpi->a_grav_exact[1] +
-				  gpi->a_grav_exact[2] * gpi->a_grav_exact[2]);
-	
+                             gpi->a_grav[1] - gpi->a_grav_exact[1],
+                             gpi->a_grav[2] - gpi->a_grav_exact[2]};
+
+      const float diff_norm =
+          sqrtf(diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2]);
+      const float a_norm = sqrtf(gpi->a_grav_exact[0] * gpi->a_grav_exact[0] +
+                                 gpi->a_grav_exact[1] * gpi->a_grav_exact[1] +
+                                 gpi->a_grav_exact[2] * gpi->a_grav_exact[2]);
+
       /* Compute relative error */
       const float err_rel = diff_norm / a_norm;
-      
-      
+
       /* Check that we are not above tolerance */
       if (err_rel > rel_tol) {
         message(
-            "Error too large ! gp->a_grav=[%3.6e %3.6e %3.6e] gp->a_exact=[%3.6e %3.6e %3.6e], "
+            "Error too large ! gp->a_grav=[%3.6e %3.6e %3.6e] "
+            "gp->a_exact=[%3.6e %3.6e %3.6e], "
             "gp->num_interacted=%lld, err=%f",
             gpi->a_grav[0], gpi->a_grav[1], gpi->a_grav[2],
             gpi->a_grav_exact[0], gpi->a_grav_exact[1], gpi->a_grav_exact[2],
             gpi->num_interacted, err_rel);
 
-	continue;
+        continue;
       }
 
       /* Construct some statistics */
@@ -169,6 +186,9 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
     }
   }
 
+  /* Be nice */
+  fclose(file);
+
   /* Final operation on the stats */
   if (counter > 0) {
     err_rel_mean /= counter;
@@ -178,8 +198,8 @@ void gravity_exact_force_check(struct space *s, const struct engine *e,
 
   /* Report on the findings */
   message("Checked gravity for %d gparts.", counter);
-  message("Error on |a_grav|: min=%e max=%e mean=%e std=%e",
-	  err_rel_min, err_rel_max, err_rel_mean, err_rel_std);
+  message("Error on |a_grav|: min=%e max=%e mean=%e std=%e", err_rel_min,
+          err_rel_max, err_rel_mean, err_rel_std);
 
 #else
   error("Gravity checking function called without the corresponding flag.");