diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua
index 413c65996178981bfcafb36fe10d161a144bb34e..c881a4bada3ad2e28f82bb16d99f1d3e2fd3e754 100644
--- a/game/modules/tome/class/interface/Combat.lua
+++ b/game/modules/tome/class/interface/Combat.lua
@@ -475,6 +475,13 @@ function _M:attackTargetWith(target, weapon, damtype, mult, force_dam)
 			repelled = true
 		end
 	end
+
+	-- Dwarves stoneskin
+	if target:attr("auto_stoneskin") and rng.percent(15) then
+		game.logSeen(target, "#ORCHID#%s instinctively hardens %s skin and ignores the attack!#LAST#", target.name:capitalize(), string.his_her(target))
+		target:setEffect(target.EFF_STONE_SKIN, 5, {power=target:attr("auto_stoneskin")})
+		repelled = true
+	end
 	
 	if repelled then
 		self:logCombat(target, "#Target# repels an attack from #Source#.")
@@ -847,11 +854,6 @@ function _M:attackTargetHitProcs(target, weapon, dam, apr, armor, damtype, mult,
 		t.do_terror(self, t, target, dam)
 	end
 
-	-- Dwarves stoneskin
-	if hitted and not target.dead and target:attr("auto_stoneskin") and rng.percent(15) then
-		target:setEffect(target.EFF_STONE_SKIN, 5, {power=target:attr("auto_stoneskin")})
-	end
-
 	-- Psi Auras
 	local psiweapon = self:getInven("PSIONIC_FOCUS") and self:getInven("PSIONIC_FOCUS")[1]
 	if psiweapon and psiweapon.combat and psiweapon.subtype ~= "mindstar"  then
diff --git a/game/modules/tome/data/talents/misc/races.lua b/game/modules/tome/data/talents/misc/races.lua
index d462d8d79eb312d0a091ed80aeb37fc3eec86fa8..dbfb746a9e121ff4131bb9fc40d02476c1b04878 100644
--- a/game/modules/tome/data/talents/misc/races.lua
+++ b/game/modules/tome/data/talents/misc/races.lua
@@ -458,7 +458,8 @@ newTalent{
 	end,
 	info = function(self, t)
 		return ([[Dwarf skin is a complex structure, it can automatically react to physical blows to harden itself.
-		When you are hit in melee, you have a 15%% chance to increase your armour total by %d for 5 turns.]]):
+		When you are hit in melee, you have a 15%% chance to increase your armour total by %d for 5 turns and fully ignore the attack triggering it.
+		There is no cooldown to this effect, it can happen while already active.]]):
 		format(t.armor(self, t))
 	end,
 }