diff --git a/examples/parameter_example.yml b/examples/parameter_example.yml
index 85661a9edaca2b0c927d0efa5b1e35962ba14dbd..a9fd08c585638d553c605749806bd55b7b426452 100644
--- a/examples/parameter_example.yml
+++ b/examples/parameter_example.yml
@@ -91,6 +91,7 @@ Snapshots:
   output_list_on:      0  # (Optional) Enable the output list
   output_list:         snaplist.txt # (Optional) File containing the output times (see documentation in "Parameter File" section)
   logger_max_steps:    10 # (Optional) Number of particle steps between two chunk writing if using logger
+  logger_size:         1e7 # buffer size of the logger file in bytes
 
 # Parameters governing the conserved quantities statistics
 Statistics:
diff --git a/src/engine.c b/src/engine.c
index 0d99a1fb0256d716390b672e05ef1fc61d931731..96b2eeeaf0f3ab11149642ef15e5e5f682f02d90 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -5461,6 +5461,7 @@ void engine_step(struct engine *e) {
        ((double)e->total_nr_gparts) * e->gravity_properties->rebuild_frequency))
     e->forcerebuild = 1;
 
+
 #ifdef WITH_LOGGER
   logger_log_timestamp(e->ti_old, &e->logger_time_offset,
 		       e->logger_dump);
@@ -6700,10 +6701,11 @@ void engine_init(struct engine *e, struct space *s, struct swift_params *params,
   /* Logger params */
   char logger_name_file[PARSER_MAX_LINE_SIZE];
   e->logger_max_steps = parser_get_opt_param_int(params, "Snapshots:logger_max_steps", 10);
-  parser_get_opt_param_string(params, "Snapshots:dump_file", logger_name_file, e->snapshotBaseName);
+  e->logger_size = parser_get_param_float(params, "Snapshots:logger_size");
+  strcpy(logger_name_file, e->snapshotBaseName);
   strcat(logger_name_file, ".dump");
   e->logger_dump = malloc(sizeof(struct dump));
-  dump_init(e->logger_dump, logger_name_file, 1024 * 1024 * 100);
+  dump_init(e->logger_dump, logger_name_file, e->logger_size);
   e->logger_time_offset = 0;
 #endif
 
diff --git a/src/engine.h b/src/engine.h
index 5efd53b2300c08faa1266d621af78367be4093fb..e5c7106a408ef8a92a8ba1f7f52a68232313412e 100644
--- a/src/engine.h
+++ b/src/engine.h
@@ -325,6 +325,10 @@ struct engine {
   /* Need to dump a snapshot ? */
   int dump_snapshot;
 
+  /* Size of the dump file */
+  int logger_size;
+#endif
+
   /* How many steps have we done with the same set of tasks? */
   int tasks_age;
 
diff --git a/src/runner.c b/src/runner.c
index 9dbc1f5fea0d8168489b47d2942fae91a29ad966..5a9e6e26f0d0e5c5591f337b9ef2312c133450e2 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -899,7 +899,7 @@ void runner_do_init_grav(struct runner *r, struct cell *c, int timer) {
  * @param timer Are we timing this ?
  */
 void runner_do_extra_ghost(struct runner *r, struct cell *c, int timer) {
-
+  
 #ifdef EXTRA_HYDRO_LOOP
 
   struct part *restrict parts = c->hydro.parts;