diff --git a/src/lib/core/errinj.h b/src/lib/core/errinj.h
index 326859ffcd2435354548a385c616730a07c08a6a..88f394dd949d70ccd51b7d31ec74677f182f5e06 100644
--- a/src/lib/core/errinj.h
+++ b/src/lib/core/errinj.h
@@ -257,7 +257,8 @@ void errinj_set_with_environment_vars(void);
 	} while (0)
 #  define ERROR_INJECT_COUNTDOWN(ID, CODE)				\
 	do {								\
-		if (errinj(ID, ERRINJ_INT)->iparam-- == 0) {		\
+		if (errinj(ID, ERRINJ_INT)->iparam >= 0 &&		\
+		    errinj(ID, ERRINJ_INT)->iparam-- == 0) {		\
 			CODE;						\
 		}							\
 	} while (0)