Index: station_cmd.cpp
===================================================================
--- station_cmd.cpp	(revision 19209)
+++ station_cmd.cpp	(working copy)
@@ -3176,10 +3176,8 @@
 	assert(best_rating1 != 0 || best_rating2 != 0);
 
 	/* the 2nd highest one gets a penalty */
-	best_rating2 >>= 1;
-
 	/* amount given to station 1 */
-	uint t = (best_rating1 * (amount + 1)) / (best_rating1 + best_rating2);
+	uint t = (best_rating1 * (amount + 1)) / (best_rating1 + (best_rating2>>1));
 
 	uint moved = 0;
 	if (t != 0) {
