diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b5ee52e63c99d998ecde47d1a11e686cbb3edad5..b5bfad435588acb7d91807c79afe0f52f063576b 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -33182,7 +33182,8 @@ static int reload_config(enum channelreloadreason reason)
 				ast_log(LOG_WARNING, "Usage of SIP_CAUSE is deprecated.  Please use HANGUPCAUSE instead.\n");
 			}
 		} else if (!strcasecmp(v->name, "qualifygap")) {
-			if (sscanf(v->value, "%30d", &global_qualify_gap) != 1) {
+			if (sscanf(v->value, "%30d", &global_qualify_gap) != 1
+				|| global_qualify_gap < 0) {
 				ast_log(LOG_WARNING, "Invalid qualifygap '%s' at line %d of %s\n", v->value, v->lineno, config);
 				global_qualify_gap = DEFAULT_QUALIFY_GAP;
 			}