diff --git a/data/creaturescripts/scripts/offlinetraining.lua b/data/creaturescripts/scripts/offlinetraining.lua
index e9a5143..9767a9a 100644
--- a/data/creaturescripts/scripts/offlinetraining.lua
+++ b/data/creaturescripts/scripts/offlinetraining.lua
@@ -15,7 +15,7 @@ function onLogin(player)
 		return true
 	end
 
-	local trainingTime = math.max(0, math.min(offlineTime, math.min(43200, player:getOfflineTrainingTime() / 1000)))
+	local trainingTime = math.max(0, math.min(offlineTime, math.min(43200 / 2, player:getOfflineTrainingTime() / 1000)))
 	player:removeOfflineTrainingTime(trainingTime * 1000)
 
 	local remainder = offlineTime - trainingTime
diff --git a/data/events/scripts/player.lua b/data/events/scripts/player.lua
index 4f4089d..fadfdab 100644
--- a/data/events/scripts/player.lua
+++ b/data/events/scripts/player.lua
@@ -5,7 +5,7 @@ function Player:onLook(thing, position, distance)
 	
 	if thing:isItem() and thing:getId() == 2028 then
 		if isInArray(trainingStatues, thing:getActionId()) then
-			local trainingTime = math.min(43200, self:getOfflineTrainingTime() / 1000)
+			local trainingTime = math.min(43200 / 2, self:getOfflineTrainingTime() / 1000)
 			local text = "You have"
 			local hours = math.floor(trainingTime / 3600)
 			if hours > 1 then