diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua
index 2e82c4edc0ffe519f0720dfae5c271139ed69d97..3a397a7803a3c70fbb9ce41d001f4e815d4c8392 100644
--- a/mods/tnt/init.lua
+++ b/mods/tnt/init.lua
@@ -47,7 +47,7 @@ end
 local function eject_drops(drops, pos, radius)
 	local drop_pos = vector.new(pos)
 	for _, item in pairs(drops) do
-		local count = math.min(item:get_count(), 99)
+		local count = math.min(item:get_count(), item:get_stack_max())
 		while count > 0 do
 			local take = math.max(1,math.min(radius * radius,
 					count,