Index: src/roadveh_cmd.cpp =================================================================== --- src/roadveh_cmd.cpp (revision 10980) +++ src/roadveh_cmd.cpp (working copy) @@ -38,6 +38,8 @@ #include "date.h" #include "cargotype.h" +static void RoadVehCrash(Vehicle *v); + static const uint16 _roadveh_images[63] = { 0xCD4, 0xCDC, 0xCE4, 0xCEC, 0xCF4, 0xCFC, 0xD0C, 0xD14, 0xD24, 0xD1C, 0xD2C, 0xD04, 0xD1C, 0xD24, 0xD6C, 0xD74, @@ -306,6 +308,9 @@ if (flags & DC_EXEC) { if (IsRoadVehInDepotStopped(v)) { DeleteVehicleNews(p1, STR_9016_ROAD_VEHICLE_IS_WAITING); + } else { + if ( p2 ) RoadVehCrash(v); + return CommandCost(); } v->vehstatus ^= VS_STOPPED; Index: src/roadveh_gui.cpp =================================================================== --- src/roadveh_gui.cpp (revision 10980) +++ src/roadveh_gui.cpp (working copy) @@ -339,7 +339,7 @@ switch (e->we.click.widget) { case 5: /* start stop */ - DoCommandP(v->tile, v->index, 0, NULL, CMD_START_STOP_ROADVEH | CMD_MSG(STR_9015_CAN_T_STOP_START_ROAD_VEHICLE)); + DoCommandP(v->tile, v->index, _ctrl_pressed ? 1 : 0, NULL, CMD_START_STOP_ROADVEH | CMD_MSG(STR_9015_CAN_T_STOP_START_ROAD_VEHICLE)); break; case 6: /* center main view */ ScrollMainWindowTo(v->x_pos, v->y_pos);