diff --git a/src/r_main.c b/src/r_main.c
index 8ab86da2954faaeb46bb15f5dce5c86dd7b6e27f..de3655dbb99c6d81b6552ccfa839da60fe03ebe6 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -1201,7 +1201,7 @@ void R_SetupFrame(player_t *player)
 		newview->x += quake.x;
 		newview->y += quake.y;
 
-		if (r_viewmobj->subsector)
+		if (!P_MobjWasRemoved(r_viewmobj) && r_viewmobj->subsector)
 			newview->sector = r_viewmobj->subsector->sector;
 		else
 			newview->sector = R_PointInSubsector(newview->x, newview->y)->sector;
diff --git a/src/r_things.c b/src/r_things.c
index 7291594eb92901246bd547442d3b8d963cc9acf8..03e94d9fc32737c41a555f003f9bf28476c7f9f5 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -3496,7 +3496,7 @@ boolean R_ThingVisible (mobj_t *thing)
 		(thing->sprite == SPR_NULL) || // Don't draw null-sprites
 		(thing->flags2 & MF2_DONTDRAW) || // Don't draw MF2_LINKDRAW objects
 		(thing->drawonlyforplayer && thing->drawonlyforplayer != viewplayer) || // Don't draw other players' personal objects
-		(r_viewmobj && (
+		(!P_MobjWasRemoved(r_viewmobj) && (
 		  (r_viewmobj == thing) || // Don't draw first-person players or awayviewmobj objects
 		  (r_viewmobj->player && r_viewmobj->player->followmobj == thing) || // Don't draw first-person players' followmobj
 		  (r_viewmobj == thing->dontdrawforviewmobj) // Don't draw objects that are hidden for the current view