diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua
index 7664ba7b0778d93553e4ac9d5b7295b6f87f9e90..b1a858f9fe1c83f54cc16267d3b14b5a768442c4 100644
--- a/game/modules/tome/class/GameState.lua
+++ b/game/modules/tome/class/GameState.lua
@@ -1288,7 +1288,9 @@ function _M:createRandomBoss(base, data)
 	b.auto_stats = {}
 
 	-- Always smart
-	b.ai = "tactical"
+	if data.ai then b.ai = data.ai
+	else b.ai = (b.rank > 3) and "tactical" or b.ai
+	end
 	b.ai_state = { talent_in=1, ai_move="move_astar" }
 
 	-- Remove default equipment, if any