Index: src/client/cl_campaign.c =================================================================== --- src/client/cl_campaign.c (Revision 7917) +++ src/client/cl_campaign.c (Arbeitskopie) @@ -1741,7 +1741,6 @@ mis->realPos[1] = MSG_ReadFloat(sb); mis->expire.day = MSG_ReadLong(sb); mis->expire.sec = MSG_ReadLong(sb); - mis->def->onGeoscape = qtrue; /* ignore incomplete info */ if (!mis->def || !mis->cause) { @@ -1749,8 +1748,10 @@ mis--; i--; ccs.numMissions--; - Com_Printf("......ignore incomplete mission info\n"); + Com_Printf("......warning: Incomplete mission info\n"); + return qfalse; } + mis->def->onGeoscape = qtrue; /* manually set mission data for a base-attack */ if (mis->def->missionType == MIS_BASEATTACK) { /* Load IDX of base under attack */ @@ -1766,9 +1767,13 @@ /* stores the select mission on geoscape */ selectedMission = MSG_ReadLong(sb); - if (selectedMission >= 0) + if (selectedMission >= 0 && selectedMission < ccs.numMissions) { selMis = ccs.mission + selectedMission; - else + if (!selMis->def) { + Com_Printf("......warning: incomplete mission data\n"); + return qfalse; + } + } else selMis = NULL; /* and now fix the mission pointers or let the aircraft return to base */