diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 18a287ee4f368e3275e20978bd172a34716c7424..61e50f9262ec01ca3ac37b26933f5c20721515d6 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -3836,7 +3836,7 @@ static void HWR_DrawSprites(void)
 				HWR_DrawPrecipitationSprite(spr);
 			else
 #endif
-				if (spr->mobj->skin)
+				if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY)
 				{
 					if (!cv_grmd2.value || (cv_grmd2.value && md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound == true))
 						HWR_DrawSprite(spr);
@@ -3865,7 +3865,7 @@ static void HWR_DrawMD2S(void)
 			if (!spr->precip)
 			{
 #endif
-				if (spr->mobj && spr->mobj->skin)
+				if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY)
 				{
 					if ((md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound == false) && (md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale > 0.0f))
 						HWR_DrawMD2(spr);