diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 2e469bab591422bf09a7f18ca6d080cc86dbe6b3..7556125661aa43d754085ecaba0da0e128367a7b 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -535,6 +535,7 @@ function _M:defineDisplayCallback()
 	local f_friend = nil
 	local f_enemy = nil
 	local f_neutral = nil
+	local ichat = nil
 
 	self._mo:displayCallback(function(x, y, w, h, zoom, on_map)
 		-- Tactical info
@@ -595,6 +596,16 @@ function _M:defineDisplayCallback()
 			end
 		end
 
+		-- Chat
+		if game.level and self.can_talk then
+			local map = game.level.map
+			if not ichat then
+				ichat = game.level.map.tilesTactic:get(nil, 0,0,0, 0,0,0, "speak_bubble.png")
+			end
+
+			ichat:toScreen(x + w - 8, y, 8, 8)
+		end
+
 		local e
 		for i = 1, #ps do
 			e = ps[i]
diff --git a/game/modules/tome/data/gfx/shockbolt/speak_bubble.png b/game/modules/tome/data/gfx/shockbolt/speak_bubble.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a64992d5c424b1f920064e523cd0f9d096b6b2b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/speak_bubble.png differ