Index: src/client/cl_team.c =================================================================== --- src/client/cl_team.c (Revision 6214) +++ src/client/cl_team.c (Arbeitskopie) @@ -937,7 +937,7 @@ assert(baseCurrent); - if (employee_idx < 0) + if (employee_idx < 0 || employee_idx > gd.numEmployees[EMPL_SOLDIER]) return qfalse; if (aircraft_idx < 0) { Index: src/client/cl_employee.c =================================================================== --- src/client/cl_employee.c (Revision 6214) +++ src/client/cl_employee.c (Arbeitskopie) @@ -366,6 +366,10 @@ return NULL; } + if (j < 0) { + i = E_CountHired(base, type); + Com_Printf("hired: %i, idx: %i\n", i, idx); + } for (i = 0; i < gd.numEmployees[type]; i++) { employee = &gd.employees[type][i]; if (employee->baseIDHired == base->idx) {