diff --git a/game/engines/default/engine/interface/ActorTalents.lua b/game/engines/default/engine/interface/ActorTalents.lua
index 33a0923e15ff80b02dbcc931e5577919f6c3420d..fdf808b9a43eb9f703911b9df43ada414ec446a1 100644
--- a/game/engines/default/engine/interface/ActorTalents.lua
+++ b/game/engines/default/engine/interface/ActorTalents.lua
@@ -279,7 +279,7 @@ function _M:learnTalent(t_id, force, nb)
 			if position and not self.hotkey[position] then
 				self.hotkey[position] = {"talent", t_id}
 			else
-				for i = 1, 12 * self.nb_hotkey_pages do
+				for i = 1, 12 * (self.nb_hotkey_pages or 5) do
 					if not self.hotkey[i] then
 						self.hotkey[i] = {"talent", t_id}
 						break
diff --git a/game/modules/tome/ai/tactical.lua b/game/modules/tome/ai/tactical.lua
index a49eba1765aa5388e11ee12e57f34cfb4bf9c913..d7c57c5d135ca7b49db9fb717bf24443f2d1c26b 100644
--- a/game/modules/tome/ai/tactical.lua
+++ b/game/modules/tome/ai/tactical.lua
@@ -19,7 +19,7 @@
 
 local DamageType = require "engine.DamageType"
 
---local print = function() end
+local print = function() end
 
 -- Internal functions
 local checkLOS = function(sx, sy, tx, ty)
@@ -316,7 +316,7 @@ newAI("use_tactical", function(self)
 			table.sort(avail.defend, function(a,b) return a.val > b.val end)
 			want.defend = 1 + need_heal / 2 + nb_foes_seen * 0.5
 		end
-		
+
 		-- Need cure (remove detrimental effects)
 		local nb_detrimental_effs = 0
 		for eff_id, p in pairs(self.tmp) do
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index 951b4ebfd5ac000a99c94af0891eb96c85a8128f..dbf54f6aee1095a2dc0ce8b741b6684e154815d8 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -1470,7 +1470,7 @@ newEntity{ base = "BASE_GEM",
 				game.logPlayer(who, "The fusing fails!")
 			end
 		end)
-		return true
+		return {id=true, used=true}
 	end },
 }