diff -r 3ac62c310231 -r 043d546c1eac src/station_cmd.cpp --- a/src/station_cmd.cpp Sat Apr 12 20:32:18 2008 +0000 +++ b/src/station_cmd.cpp Sat Apr 12 22:11:21 2008 +0000 @@ -2199,10 +2199,14 @@ } SpriteID pal; - if (!(!HasBit(image, SPRITE_MODIFIER_OPAQUE) && IsTransparencySet(TO_BUILDINGS)) && HasBit(image, PALETTE_MODIFIER_COLOR)) { - pal = palette; + if (HasBit(image, PALETTE_MODIFIER_TRANSPARENT) || HasBit(image, PALETTE_MODIFIER_COLOR)) { + if (dtss->image.pal > 0) { + pal = dtss->image.pal; + } else { + pal = palette; + } } else { - pal = dtss->image.pal; + pal = PAL_NONE; } if ((byte)dtss->delta_z != 0x80) {