diff --git a/src/tool.cpp b/src/tool.cpp
index 38994c620363f7382aae2ce41cc6b80b29b4e674..da7ee73dc5124fc2d05e810c05eaa1bea57ec34a 100644
--- a/src/tool.cpp
+++ b/src/tool.cpp
@@ -135,6 +135,8 @@ HitParams getHitParams(const ItemGroupList &groups,
 	DigParams digprop = getDigParams(groups, tp,
 			time_from_last_punch);
 	
+	if(time_from_last_punch > tp->full_punch_interval)
+		time_from_last_punch = tp->full_punch_interval;
 	// Damage in hp is equivalent to nodes dug in time_from_last_punch
 	s16 hp = 0;
 	if(digprop.diggable)