diff -r 3f5ba7ee376f -r a074ca3d3e0a src/industry_cmd.cpp --- a/src/industry_cmd.cpp Fri Dec 28 15:27:12 2007 +0000 +++ b/src/industry_cmd.cpp Fri Dec 28 16:21:29 2007 +0000 @@ -1612,7 +1612,11 @@ * is nothing we can really do about that. */ if (Random() <= indspec->prospecting_chance) { for (int i = 0; i < 5000; i++) { - const Industry *ind = CreateNewIndustryHelper(RandomTile(), p1, flags, indspec, RandomRange(indspec->num_table)); + /* We should not have more than one Random() in a function call + * because parameter evaluation order is not guaranteed in the c++ standard + */ + tile = RandomTile(); + const Industry *ind = CreateNewIndustryHelper(tile, p1, flags, indspec, RandomRange(indspec->num_table)); if (ind != NULL) { SetDParam(0, indspec->name); if (indspec->new_industry_text > STR_LAST_STRINGID) {