diff --git a/Content.Server/Sound/EmitSoundSystem.cs b/Content.Server/Sound/EmitSoundSystem.cs
index 8562a99bf8..816fd70880 100644
--- a/Content.Server/Sound/EmitSoundSystem.cs
+++ b/Content.Server/Sound/EmitSoundSystem.cs
@@ -5,9 +5,11 @@ using Content.Server.Throwing;
using Content.Server.UserInterface;
using Content.Shared.Interaction;
using Content.Shared.Interaction.Events;
+using Content.Shared.Maps;
using Content.Shared.Throwing;
using JetBrains.Annotations;
using Robust.Shared.Audio;
+using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Random;
@@ -19,7 +21,9 @@ namespace Content.Server.Sound
[UsedImplicitly]
public sealed class EmitSoundSystem : EntitySystem
{
+ [Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
+ [Dependency] private readonly ITileDefinitionManager _tileDefMan = default!;
///
public override void Initialize()
@@ -40,6 +44,13 @@ namespace Content.Server.Sound
private void HandleEmitSoundOnLand(EntityUid eUI, BaseEmitSoundComponent component, LandEvent arg)
{
+ if (!TryComp(eUI, out var xform) ||
+ !_mapManager.TryGetGrid(xform.GridID, out var grid)) return;
+
+ var tile = grid.GetTileRef(xform.Coordinates);
+
+ if (tile.IsSpace(_tileDefMan)) return;
+
TryEmitSound(component);
}