diff --git a/rehlds/engine/host.cpp b/rehlds/engine/host.cpp index ebab4af..1eb758d 100644 --- a/rehlds/engine/host.cpp +++ b/rehlds/engine/host.cpp @@ -520,11 +520,14 @@ void SV_DropClient_internal(client_t *cl, qboolean crash, const char *string) cl->proxy = FALSE; COM_ClearCustomizationList(&cl->customdata, FALSE); #ifdef REHLDS_FIXES - // Reset flags, leave FL_DORMANT used by CS - cl->edict->v.flags &= FL_DORMANT; - // Since the edict doesn't get deleted, fix it so it doesn't interfere. - cl->edict->v.takedamage = DAMAGE_NO; // don't attract autoaim - cl->edict->v.solid = SOLID_NOT; + if (cl->edict) + { + // Reset flags, leave FL_DORMANT used by CS + cl->edict->v.flags &= FL_DORMANT; + // Since the edict doesn't get deleted, fix it so it doesn't interfere. + cl->edict->v.takedamage = DAMAGE_NO; // don't attract autoaim + cl->edict->v.solid = SOLID_NOT; + } #endif // REHLDS_FIXES cl->edict = NULL; Q_memset(cl->userinfo, 0, sizeof(cl->userinfo));