diff --git a/EXILED/Exiled.CustomItems/API/Features/CustomGoggles.cs b/EXILED/Exiled.CustomItems/API/Features/CustomGoggles.cs
index 60d1046227..68f8d07818 100644
--- a/EXILED/Exiled.CustomItems/API/Features/CustomGoggles.cs
+++ b/EXILED/Exiled.CustomItems/API/Features/CustomGoggles.cs
@@ -8,6 +8,7 @@
namespace Exiled.CustomItems.API.Features
{
using EventArgs;
+
using Exiled.API.Enums;
using Exiled.API.Features;
using Exiled.API.Features.Items;
@@ -18,6 +19,8 @@ namespace Exiled.CustomItems.API.Features
using PlayerRoles.FirstPersonControl.Thirdperson.Subcontrollers.Wearables;
+ using PlayerStatsSystem;
+
///
/// The Custom Goggles base class.
///
@@ -56,6 +59,7 @@ public override ItemType Type
///
protected override void SubscribeEvents()
{
+ PlayerStats.OnAnyPlayerDied += OnOwnerDied;
InventorySystem.InventoryExtensions.OnInventoryDropped += RemoveSafely;
Exiled.Events.Handlers.Player.UsingItem += OnInternalUsingItem;
Exiled.Events.Handlers.Player.ItemRemoved += OnInternalItemRemoved;
@@ -68,6 +72,7 @@ protected override void SubscribeEvents()
///
protected override void UnsubscribeEvents()
{
+ PlayerStats.OnAnyPlayerDied -= OnOwnerDied;
InventorySystem.InventoryExtensions.OnInventoryDropped -= RemoveSafely;
Exiled.Events.Handlers.Player.UsingItem -= OnInternalUsingItem;
Exiled.Events.Handlers.Player.ItemRemoved -= OnInternalItemRemoved;
@@ -214,6 +219,8 @@ private void OnInternalChangingStatus(ChangingStatusEventArgs ev)
InternalRemove(ev.Player, ev.Scp1344);
}
+ private void OnOwnerDied(ReferenceHub hub, DamageHandlerBase handler) => RemoveSafely(hub);
+
private void RemoveSafely(ReferenceHub hub)
{
if (!Player.TryGet(hub, out Player owner))