<Project Sdk="Dalamud.NET.Sdk/10.0.0">
     <ItemGroup>
+      <ProjectReference Include="..\LLib\LLib.csproj" />
       <ProjectReference Include="..\Questionable.Model\Questionable.Model.csproj" />
       <ProjectReference Include="..\vendor\ECommons\ECommons\ECommons.csproj" />
     </ItemGroup>
 
 using ECommons.Schedulers;
 using ECommons.SplatoonAPI;
 using GatheringPathRenderer.Windows;
+using LLib.GameData;
 using Questionable.Model;
 using Questionable.Model.Gathering;
 
 
         _pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
         _clientState.TerritoryChanged += TerritoryChanged;
+        _clientState.ClassJobChanged += ClassJobChanged;
         if (_clientState.IsLoggedIn)
             TerritoryChanged(_clientState.TerritoryType);
     }
 
     private void TerritoryChanged(ushort territoryId) => Redraw();
 
-    internal void Redraw()
+    private void ClassJobChanged(uint classJobId) => Redraw((EClassJob)classJobId);
+
+    internal void Redraw() => Redraw((EClassJob)_clientState.LocalPlayer!.ClassJob.Id);
+
+    private void Redraw(EClassJob classJob)
     {
         Splatoon.RemoveDynamicElements("GatheringPathRenderer");
+        if (!classJob.IsGatherer())
+            return;
 
         var elements = GetLocationsInTerritory(_clientState.TerritoryType)
             .SelectMany(location =>
 
     public void Dispose()
     {
+        _clientState.ClassJobChanged -= ClassJobChanged;
         _clientState.TerritoryChanged -= TerritoryChanged;
         _pluginInterface.UiBuilder.Draw -= _windowSystem.Draw;