diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 79f549dd3..e0c9530d3 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -7766,7 +7766,13 @@ FState *AActor::GetRaiseState() void AActor::Revive() { AActor *info = GetDefault(); + FLinkContext ctx; + + bool flagchange = (flags & (MF_NOBLOCKMAP | MF_NOSECTOR)) != (info->flags & (MF_NOBLOCKMAP | MF_NOSECTOR)); + + if (flagchange) UnlinkFromWorld(&ctx); flags = info->flags; + if (flagchange) LinkToWorld(&ctx); flags2 = info->flags2; flags3 = info->flags3; flags4 = info->flags4;