diff --git a/examples/main.c b/examples/main.c
index 9f9c0a471370a208251fe1c3628d3d980b476af4..3cc4b2f9daee242892898fd08514db95b1601501 100644
--- a/examples/main.c
+++ b/examples/main.c
@@ -764,6 +764,13 @@ int main(int argc, char *argv[]) {
         params, "InitialConditions:cleanup_velocity_factors", 0);
     const int generate_gas_in_ics = parser_get_opt_param_int(
         params, "InitialConditions:generate_gas_in_ics", 0);
+    const int with_dithering =
+        parser_get_opt_param_int(params, "InitialConditions:dithering", 0);
+    int dithering_ratio = 0.;
+    if (with_dithering) {
+      dithering_ratio =
+          parser_get_param_double(params, "InitialConditions:dithering_ratio");
+    }
 
     /* Initialise the cosmology */
     if (with_cosmology)
@@ -992,7 +999,8 @@ int main(int argc, char *argv[]) {
     space_init(&s, params, &cosmo, dim, parts, gparts, sparts, bparts, Ngas,
                Ngpart, Nspart, Nbpart, periodic, replicate, generate_gas_in_ics,
                with_hydro, with_self_gravity, with_star_formation,
-               with_DM_background_particles, talking, dry_run);
+               with_DM_background_particles, with_dithering, dithering_ratio,
+               talking, dry_run);
 
     if (myrank == 0) {
       clocks_gettime(&toc);
diff --git a/examples/main_fof.c b/examples/main_fof.c
index e4b13187435e1eb600cae4ce05e9332650c4fddb..98058e5c1a5ab182ef1d2878c56bb4bdbe50e752 100644
--- a/examples/main_fof.c
+++ b/examples/main_fof.c
@@ -511,7 +511,8 @@ int main(int argc, char *argv[]) {
   space_init(&s, params, &cosmo, dim, parts, gparts, sparts, bparts, Ngas,
              Ngpart, Nspart, Nbpart, periodic, replicate,
              /*generate_gas_in_ics=*/0, /*hydro=*/N_total[0] > 0, /*gravity=*/1,
-             /*with_star_formation=*/0, with_DM_background_particles, talking,
+             /*with_star_formation=*/0, with_DM_background_particles,
+             /*with_dithering=*/0, /*dithering_ratio=*/0., talking,
              /*dry_run=*/0);
 
   if (myrank == 0) {
diff --git a/src/space.c b/src/space.c
index f94b7cf8f3565413793c16caa5bde26feef58dec..95cfabe6434dbcb76516b4f24b794159fbf4cc5b 100644
--- a/src/space.c
+++ b/src/space.c
@@ -1187,6 +1187,10 @@ void space_rebuild(struct space *s, int repartitioned, int verbose) {
       /* Tell everyone what value to use */
       MPI_Bcast(s->pos_dithering, 3, MPI_DOUBLE, 0, MPI_COMM_WORLD);
 #endif
+
+      if (verbose)
+        message("Dithering the particle positions by [%e %e %e]",
+                s->pos_dithering[0], s->pos_dithering[1], s->pos_dithering[2]);
     }
   }
 
@@ -4629,8 +4633,8 @@ void space_init(struct space *s, struct swift_params *params,
                 struct bpart *bparts, size_t Npart, size_t Ngpart,
                 size_t Nspart, size_t Nbpart, int periodic, int replicate,
                 int generate_gas_in_ics, int hydro, int self_gravity,
-                int star_formation, int DM_background, int verbose,
-                int dry_run) {
+                int star_formation, int DM_background, int dithering,
+                double dithering_ratio, int verbose, int dry_run) {
 
   /* Clean-up everything */
   bzero(s, sizeof(struct space));
@@ -4672,6 +4676,8 @@ void space_init(struct space *s, struct swift_params *params,
   s->sum_gpart_vel_norm = 0.f;
   s->sum_spart_vel_norm = 0.f;
   s->sum_bpart_vel_norm = 0.f;
+  s->dithering = dithering;
+  s->dithering_ratio = dithering_ratio;
   s->nr_queues = 1; /* Temporary value until engine construction */
 
   /* Initialise some randomness */
diff --git a/src/space.h b/src/space.h
index 9d93b823f5e657558b1cae58da1df34a391ef1da..6efa2b4c9c2731cdb6c3d6d27980365b93145122 100644
--- a/src/space.h
+++ b/src/space.h
@@ -321,8 +321,8 @@ void space_init(struct space *s, struct swift_params *params,
                 struct bpart *bparts, size_t Npart, size_t Ngpart,
                 size_t Nspart, size_t Nbpart, int periodic, int replicate,
                 int generate_gas_in_ics, int hydro, int gravity,
-                int star_formation, int DM_background, int verbose,
-                int dry_run);
+                int star_formation, int DM_background, int dithering,
+                double dithering_ratio, int verbose, int dry_run);
 void space_sanitize(struct space *s);
 void space_map_cells_pre(struct space *s, int full,
                          void (*fun)(struct cell *c, void *data), void *data);