diff --git a/ai/default/default.c b/ai/default/default.c index 8daaf239e9..66dacd0143 100644 --- a/ai/default/default.c +++ b/ai/default/default.c @@ -1620,8 +1620,9 @@ clear_town_stuff:; /* signals too? */ if (j&3) { - // Can't build signals on a road. - if (IsTileType(c, MP_STREET)) return CMD_ERROR; + /* XXX - we need to check manually whether we can build a signal if DC_EXEC is + not set because the rail has not actually been built */ + if (!IsTileType(c, MP_RAILWAY)) return CMD_ERROR; if (flag & DC_EXEC) { j = 4 - j;