diff --git a/src/engine.c b/src/engine.c
index 5dfce1807937f844416d21f375befd98d2b8e043..3ed6564e711e88fcd1307a9b46b5e62a94125cf7 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -443,7 +443,7 @@ void engine_repartition ( struct engine *e ) {
         error( "Failed to allreduce the weight scales (%s)." , buff );
     }
     if (wscale_buff != wscale) {
-      float scale = wscale / wscale_buff;
+      float scale = wscale_buff / wscale;
       for (k = 0; k < 26 * nr_cells; k++) weights_e[k] *= scale;
       for (k = 0; k < nr_cells; k++) weights_v[k] *= scale;
     }