diff --git a/src/p_mobj.c b/src/p_mobj.c
index f6519d436a4940643422d54ab7b57511ffc457fe..965e8e57e5710ea5429fe23704a7693555794978 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -11178,8 +11178,6 @@ void P_RemoveMobj(mobj_t *mobj)
 	memset((UINT8 *)mobj + sizeof(thinker_t), 0xff, sizeof(mobj_t) - sizeof(thinker_t));
 #endif
 
-	R_RemoveMobjInterpolator(mobj);
-
 	// free block
 	if (!mobj->thinker.next)
 	{ // Uh-oh, the mobj doesn't think, P_RemoveThinker would never go through!
@@ -11196,6 +11194,8 @@ void P_RemoveMobj(mobj_t *mobj)
 	}
 
 	P_RemoveThinker((thinker_t *)mobj);
+
+	R_RemoveMobjInterpolator(mobj);
 }
 
 // This does not need to be added to Lua.