diff --git a/Dalamud/Game/ClientState/Objects/ObjectTable.cs b/Dalamud/Game/ClientState/Objects/ObjectTable.cs
index 529fdfaec..df045be1c 100644
--- a/Dalamud/Game/ClientState/Objects/ObjectTable.cs
+++ b/Dalamud/Game/ClientState/Objects/ObjectTable.cs
@@ -7,7 +7,6 @@ using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.IoC;
using Dalamud.IoC.Internal;
-using JetBrains.Annotations;
using Serilog;
namespace Dalamud.Game.ClientState.Objects
@@ -65,6 +64,9 @@ namespace Dalamud.Game.ClientState.Objects
/// A game object or null.
public GameObject? SearchById(uint objectId)
{
+ if (objectId is GameObject.InvalidGameObjectId or 0)
+ return null;
+
foreach (var obj in this)
{
if (obj == null)
diff --git a/Dalamud/Game/ClientState/Objects/Types/GameObject.cs b/Dalamud/Game/ClientState/Objects/Types/GameObject.cs
index b0504fbcc..da4794109 100644
--- a/Dalamud/Game/ClientState/Objects/Types/GameObject.cs
+++ b/Dalamud/Game/ClientState/Objects/Types/GameObject.cs
@@ -162,7 +162,7 @@ namespace Dalamud.Game.ClientState.Objects.Types
/// This iterates the actor table, it should be used with care.
///
// TODO: Fix for non-networked GameObjects
- public virtual GameObject? TargetObject => this.TargetObjectId != InvalidGameObjectId ? Service.Get().SearchById(this.TargetObjectId) : null;
+ public virtual GameObject? TargetObject => Service.Get().SearchById(this.TargetObjectId);
///
/// Gets the underlying structure.