diff --git a/src/p_pspr.cpp b/src/p_pspr.cpp index 38e89a678..25c3e9645 100644 --- a/src/p_pspr.cpp +++ b/src/p_pspr.cpp @@ -633,7 +633,7 @@ void P_CheckWeaponSwitch (player_t *player) // Put the weapon away if the player has a pending weapon or has died. if ((player->morphTics == 0 && player->PendingWeapon != WP_NOCHANGE) || player->health <= 0) { - P_SetPsprite (player, ps_weapon, weapon->GetDownState()); + P_DropWeapon(player); return; } else if (player->morphTics != 0) @@ -829,7 +829,7 @@ DEFINE_ACTION_FUNCTION(AInventory, A_Raise) } if (player->PendingWeapon != WP_NOCHANGE) { - P_SetPsprite (player, ps_weapon, player->ReadyWeapon->GetDownState()); + P_DropWeapon(player); return; } psp = &player->psprites[ps_weapon]; diff --git a/src/p_user.cpp b/src/p_user.cpp index c936ea47e..cb15b18f9 100644 --- a/src/p_user.cpp +++ b/src/p_user.cpp @@ -792,7 +792,7 @@ AWeapon *APlayerPawn::PickNewWeapon (const PClass *ammotype) player->PendingWeapon = best; if (player->ReadyWeapon != NULL) { - P_SetPsprite (player, ps_weapon, player->ReadyWeapon->GetDownState()); + P_DropWeapon(player); } else if (player->PendingWeapon != WP_NOCHANGE) {