diff --git a/main/pbx_builtins.c b/main/pbx_builtins.c
index 7f76b9776567c6b6f16712b19d84dcab2abc48dc..e3703382f7825414f2c6095806302169ea0d0e7a 100644
--- a/main/pbx_builtins.c
+++ b/main/pbx_builtins.c
@@ -1299,7 +1299,7 @@ static int pbx_builtin_saynumber(struct ast_channel *chan, const char *data)
 
 	res = ast_say_number(chan, number_val, interrupt ? AST_DIGIT_ANY : "", ast_channel_language(chan), options);
 
-	if (res < 0) {
+	if (res < 0 && !ast_check_hangup_locked(chan)) {
 		ast_log(LOG_WARNING, "We were unable to say the number %s, is it too large?\n", tmp);
 	}