diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c
index 1278f0aa7434f8d0dc4d9fc900a3faed90fb412c..7073dbb8100c83fb163498453d814beed8fd2dbe 100644
--- a/net/netfilter/xt_recent.c
+++ b/net/netfilter/xt_recent.c
@@ -267,7 +267,7 @@ recent_mt(const struct sk_buff *skb, const struct xt_match_param *par)
 		for (i = 0; i < e->nstamps; i++) {
 			if (info->seconds && time_after(time, e->stamps[i]))
 				continue;
-			if (++hits >= info->hit_count) {
+			if (info->hit_count && ++hits >= info->hit_count) {
 				ret = !ret;
 				break;
 			}