diff --git a/game/engines/default/engine/interface/ActorResource.lua b/game/engines/default/engine/interface/ActorResource.lua
index e25a6a7f794b5746d1ea4867a07e503ca57940d1..d535b45ee65cd9e4515587b8d729414abaa29ddc 100644
--- a/game/engines/default/engine/interface/ActorResource.lua
+++ b/game/engines/default/engine/interface/ActorResource.lua
@@ -114,7 +114,7 @@ function _M:regenResources()
 	for i = 1, #_M.resources_def do
 		r = _M.resources_def[i]
 		if r.regen_prop then
-			self[r.short_name] = util.bound(self[r.short_name] + self[r.regen_prop], 0, self[r.maxname])
+			self[r.short_name] = util.bound(self[r.short_name] + self[r.regen_prop], self[r.minname], self[r.maxname])
 		end
 	end
 end
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 8ebb4dc6e0e84cc111bf92314214453a1ec30f2e..af86783ad67a0459ee04efbc3405630f0eb49541 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -647,7 +647,7 @@ function _M:restCheck()
 		if self:getMana() < self:getMaxMana() and self.mana_regen > 0 then return true end
 		if self:getStamina() < self:getMaxStamina() and self.stamina_regen > 0 then return true end
 		if self:getPsi() < self:getMaxPsi() and self.psi_regen > 0 then return true end
-		if self:getEquilibrium() > 0 and self.equilibrium_regen < 0 then return true end
+		if self:getEquilibrium() > self:getMinEquilibrium() and self.equilibrium_regen < 0 then return true end
 		if self:getParadox() > 0 and self:getParadox() > self.min_paradox and self:isTalentActive(self.T_SPACETIME_TUNING) then return true end
 		if self.life < self.max_life and self.life_regen> 0 then return true end
 		for act, def in pairs(game.party.members) do if game.level:hasEntity(act) and not act.dead then