Index: grfspecial.c
===================================================================
--- grfspecial.c	(revision 566)
+++ grfspecial.c	(working copy)
@@ -755,18 +864,21 @@
 	static int last_engines_count;
 	uint8 feature;
 	uint8 idcount;
-	int wagover;
+	bool wagover;
 	uint8 cidcount;
 	int c, i;
 
 	check_length(len, 7, "VehicleMapSpriteGroup");
 	feature = buf[1];
 	idcount = buf[2] & 0x7F;
-	wagover = buf[2] & 0x80;
+	wagover = (buf[2] & 0x80) == 0x80;
 	check_length(len, 3 + idcount, "VehicleMapSpriteGroup");
 	cidcount = buf[3 + idcount];
 	check_length(len, 4 + idcount + cidcount * 3, "VehicleMapSpriteGroup");
 
+	DEBUG(grf, 6) ("VehicleMapSpriteGroup: Feature %d, %d ids, %d cids, wagon override %d.",
+			feature, idcount, cidcount, wagover);
+
 	if (feature == GSF_STATION) {
 		grfmsg(GMS_WARN, "VehicleMapSpriteGroup: Stations unsupported, skipping.");
 		return;
@@ -794,14 +906,13 @@
 		last_engines_count = idcount;
 	}
 
-	if (wagover != 0) {
+	if (wagover) {
 		if (last_engines_count == 0) {
 			grfmsg(GMS_ERROR, "VehicleMapSpriteGroup: WagonOverride: No engine to do override with.");
 			return;
-		} else {
-			DEBUG(grf, 4) ("VehicleMapSpriteGroup: WagonOverride: %u engines, %u wagons.",
-					last_engines_count, idcount);
 		}
+		DEBUG(grf, 6) ("VehicleMapSpriteGroup: WagonOverride: %u engines, %u wagons.",
+				last_engines_count, idcount);
 	}
 	
 
@@ -828,7 +943,7 @@
 			if (ctype == 0xFF)
 				ctype = CID_PURCHASE;
 
-			if (wagover != 0) {
+			if (wagover) {
 				// TODO: No multiple cargo types per vehicle yet. --pasky
 				SetWagonOverrideSprites(engine, &_spritesset[groupid], last_engines, last_engines_count);
 			} else {
@@ -851,7 +968,7 @@
 				return;
 			}
 
-			if (wagover != 0) {
+			if (wagover) {
 				// TODO: No multiple cargo types per vehicle yet. --pasky
 				SetWagonOverrideSprites(engine, &_spritesset[groupid], last_engines, last_engines_count);
 			} else {
