diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
index 367b078f23..c260529ded 100644
--- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
+++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
@@ -9,6 +9,7 @@ using Content.Shared.Wieldable;
using Robust.Shared.Audio;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Network;
+using Robust.Shared.Timing;
namespace Content.Shared.Item.ItemToggle;
///
@@ -23,6 +24,7 @@ public sealed class ItemToggleSystem : EntitySystem
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
+ [Dependency] private readonly IGameTiming _gameTiming = default!;
private EntityQuery _query;
@@ -315,8 +317,7 @@ public sealed class ItemToggleSystem : EntitySystem
///
private void TurnOnOnWielded(Entity ent, ref ItemWieldedEvent args)
{
- // FIXME: for some reason both client and server play sound
- TryActivate((ent, ent.Comp));
+ TryActivate((ent, ent.Comp), args.User);
}
public bool IsActivated(Entity ent)
@@ -340,6 +341,9 @@ public sealed class ItemToggleSystem : EntitySystem
///
private void UpdateActiveSound(Entity ent, ref ItemToggledEvent args)
{
+ if (!_gameTiming.IsFirstTimePredicted)
+ return;
+
var (uid, comp) = ent;
if (!args.Activated)
{