diff --git a/src/engine.c b/src/engine.c
index d9cff7e14fe8e546c5a68c8f60aaa8d759d040eb..5a3010697531f572e5350f4024a450296f45cc25 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -288,7 +288,8 @@ void engine_redistribute(struct engine *e) {
   }
 
   /* Sort the particles according to their cell index. */
-  space_parts_sort(s, dest, s->nr_parts, 0, nr_nodes - 1, e->verbose);
+  if(s->nr_parts > 0)
+    space_parts_sort(s, dest, s->nr_parts, 0, nr_nodes - 1, e->verbose);
 
 #ifdef SWIFT_DEBUG_CHECKS
   /* Verify that the part have been sorted correctly. */
@@ -368,7 +369,8 @@ void engine_redistribute(struct engine *e) {
   }
 
   /* Sort the particles according to their cell index. */
-  space_sparts_sort(s, s_dest, s->nr_sparts, 0, nr_nodes - 1, e->verbose);
+  if(s->nr_sparts > 0)
+    space_sparts_sort(s, s_dest, s->nr_sparts, 0, nr_nodes - 1, e->verbose);
 
 #ifdef SWIFT_DEBUG_CHECKS
   /* Verify that the spart have been sorted correctly. */
@@ -448,7 +450,8 @@ void engine_redistribute(struct engine *e) {
   }
 
   /* Sort the gparticles according to their cell index. */
-  space_gparts_sort(s, g_dest, s->nr_gparts, 0, nr_nodes - 1, e->verbose);
+  if(s->nr_gparts > 0)
+    space_gparts_sort(s, g_dest, s->nr_gparts, 0, nr_nodes - 1, e->verbose);
 
 #ifdef SWIFT_DEBUG_CHECKS
   /* Verify that the gpart have been sorted correctly. */