diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 280e5b05b9..3a3d7d6ffe 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -15,7 +15,6 @@
* with this program. If not, see .
*/
-#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
#include "blackfathom_deeps.h"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index e1399873db..cab91dd883 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -16,10 +16,10 @@
*/
#include "CreatureScript.h"
+#include "GridNotifiers.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
-#include "SpellAuras.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "hyjal.h"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index 72ac299969..82f86f1b58 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -16,6 +16,7 @@
*/
#include "CreatureScript.h"
+#include "GridNotifiers.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
index 37fc848093..09003b022c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -16,6 +16,7 @@
*/
#include "CreatureScript.h"
+#include "GridNotifiers.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
index f29a56eb23..54ba1eab30 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
@@ -19,7 +19,6 @@
#define DEF_HYJAL_H
#include "CreatureAIImpl.h"
-#include "GridNotifiers.h"
#define DataHeader "HY"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index 1228665c77..431892aad1 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -18,7 +18,6 @@
#include "Chat.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
-#include "Opcodes.h"
#include "Player.h"
#include "WorldPacket.h"
#include "hyjal.h"
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
index 34d43737fc..1955c3b5d9 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -18,8 +18,10 @@
#include "the_black_morass.h"
#include "CreatureScript.h"
#include "MoveSplineInit.h"
+#include "PassiveAI.h"
#include "ScriptedCreature.h"
#include "SmartAI.h"
+#include "SpellScript.h"
#include "SpellScriptLoader.h"
enum medivhMisc
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
index 3a8715a341..0eac0cb3f0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
@@ -19,8 +19,6 @@
#define DEF_THEBLACKMORASS_H
#include "CreatureAIImpl.h"
-#include "PassiveAI.h"
-#include "SpellScript.h"
#define DataHeader "TBM"
diff --git a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
index 02f1b708bd..9e4f79b383 100644
--- a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
@@ -15,7 +15,6 @@
* with this program. If not, see .
*/
-#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
#include "maraudon.h"
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
index f9b5d93773..3504b6cdba 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
@@ -20,10 +20,16 @@
#include "CellImpl.h"
#include "CreatureScript.h"
#include "GridNotifiers.h"
-#include "GridNotifiersImpl.h"
+#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
+/// @todo: this import is not necessary for compilation and marked as unused by the IDE
+// however, for some reasons removing it would cause a damn linking issue
+// there is probably some underlying problem with imports which should properly addressed
+// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
+#include "GridNotifiersImpl.h"
+
/*######
## npc_belnistrasz for Quest 3525 "Extinguishing the Idol"
######*/
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
index 259c26d433..77c963a5b4 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.h
@@ -19,7 +19,6 @@
#define DEF_RAZORFEN_DOWNS_H
#include "CreatureAIImpl.h"
-#include "PassiveAI.h"
#define DataHeader "RFD"
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index b43894d2d9..7b56c464d1 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -19,7 +19,6 @@
#include "GameObjectAI.h"
#include "GameObjectScript.h"
#include "MiscPackets.h"
-#include "Opcodes.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
index fe9ea41b4f..b8097f4c11 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
@@ -15,7 +15,6 @@
* with this program. If not, see .
*/
-#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
#include "wailing_caverns.h"
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
index 239e1eea7f..e8887df720 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.h
@@ -20,8 +20,6 @@
#define DataHeader "WC"
-#include "CreatureAI.h"
-
enum DataTypes
{
TYPE_LORD_COBRAHN = 0,
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index c15a77ba27..f8c76779be 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -16,10 +16,12 @@
*/
#include "CreatureScript.h"
+#include "CellImpl.h"
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
+#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "TemporarySummon.h"
#include "zulfarrak.h"
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 9506c47947..4762a72b6e 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -17,6 +17,7 @@
#include "zulfarrak.h"
#include "Cell.h"
+#include "CellImpl.h"
#include "CreatureScript.h"
#include "GameObject.h"
#include "GameObjectAI.h"
@@ -28,6 +29,13 @@
#include "ScriptSystem.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
+
+/// @todo: this import is not necessary for compilation and marked as unused by the IDE
+// however, for some reasons removing it would cause a damn linking issue
+// there is probably some underlying problem with imports which should properly addressed
+// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
+#include "GridNotifiersImpl.h"
+
/* ScriptData
SDName: Zulfarrak
SD%Complete: 50
@@ -40,8 +48,6 @@ npc_sergeant_bly
npc_weegli_blastfuse
EndContentData */
-#include "GridNotifiersImpl.h"
-
/*######
## npc_sergeant_bly
######*/
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
index 3202de53e3..ad2965baae 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.h
@@ -18,9 +18,7 @@
#ifndef DEF_ZULFARRACK_H
#define DEF_ZULFARRACK_H
-#include "CellImpl.h"
#include "CreatureAIImpl.h"
-#include "SpellScript.h"
#define DataHeader "ZF"
diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp
index 8fbb8f62af..c8fb68c0ad 100644
--- a/src/server/scripts/Kalimdor/zone_azshara.cpp
+++ b/src/server/scripts/Kalimdor/zone_azshara.cpp
@@ -31,7 +31,6 @@ EndContentData */
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
-#include "SpellInfo.h"
/*####
# npc_rizzle_sprysprocket
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 5439edc990..4d391d8b1a 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -18,7 +18,6 @@
#include "CreatureScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
diff --git a/src/server/scripts/Kalimdor/zone_feralas.cpp b/src/server/scripts/Kalimdor/zone_feralas.cpp
index 7352427a51..1b70c5485f 100644
--- a/src/server/scripts/Kalimdor/zone_feralas.cpp
+++ b/src/server/scripts/Kalimdor/zone_feralas.cpp
@@ -18,7 +18,6 @@
#include "Group.h"
#include "Player.h"
#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
/* ScriptData
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index df9757da8f..a5bfb69b04 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -31,7 +31,6 @@ npc_clintar_dreamwalker
EndContentData */
#include "Cell.h"
-#include "CellImpl.h"
#include "CreatureScript.h"
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"