diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua
index c5aa95c9193678a60e1138b5bcf81eefe300785a..2e82c4edc0ffe519f0720dfae5c271139ed69d97 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 = item:get_count()
+		local count = math.min(item:get_count(), 99)
 		while count > 0 do
 			local take = math.max(1,math.min(radius * radius,
 					count,