diff --git a/src/engine.c b/src/engine.c
index 993c6fe49a121481f9c4329f637e65a7e59ffb86..032fd3638e8d7a3ce470075db7bce4a09131cfa2 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -3411,7 +3411,7 @@ void engine_init_particles(struct engine *e, int flag_entropy_ICs,
   if (s->cells_top != NULL && s->nr_parts > 0) {
     for (int i = 0; i < s->nr_cells; i++) {
       struct cell *c = &s->cells_top[i];
-      if (c->nodeID == engine_rank) {
+      if (c->nodeID == engine_rank && c->count > 0) {
         float part_h_max = c->parts[0].h;
         for (int k = 1; k < c->count; k++) {
           if (c->parts[k].h > part_h_max) part_h_max = c->parts[k].h;