diff --git a/src/engine.c b/src/engine.c
index 58f4e4d2c445b0aa2cba30907b2be634d007974c..d2ff497a7780302fada0b91780e1d113fe8bc331 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -604,7 +604,7 @@ void engine_exchange_cells(struct engine *e) {
  * @return The number of arrived parts copied to parts and xparts.
  */
 
-int engine_exchange_strays(struct engine *e, int offset, int *ind, size_t N) {
+int engine_exchange_strays(struct engine *e, size_t offset, int *ind, size_t N) {
 
 #ifdef WITH_MPI
 
diff --git a/src/engine.h b/src/engine.h
index 5ec6ad8a984cbb6f43b76f6eabec598708e06dfd..57a4f8cffc4d41653f470bf919dbed65fe15b789 100644
--- a/src/engine.h
+++ b/src/engine.h
@@ -182,7 +182,7 @@ void engine_init_particles(struct engine *e);
 void engine_step(struct engine *e);
 void engine_maketasks(struct engine *e);
 void engine_split(struct engine *e, struct partition *initial_partition);
-int engine_exchange_strays(struct engine *e, int offset, int *ind, size_t N);
+int engine_exchange_strays(struct engine *e, size_t offset, int *ind, size_t N);
 void engine_rebuild(struct engine *e);
 void engine_repartition(struct engine *e);
 void engine_makeproxies(struct engine *e);