diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index a5c4d694cc7056b0eb588b532f024a3f7268526c..f841816dfcfc545cec73b2023180f920caa0e0bd 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -10909,9 +10909,13 @@ static int func_header_read(struct ast_channel *chan, char *function, char *data
 	}
 
 	AST_STANDARD_APP_ARGS(args, data);
-	sscanf(args.number, "%d", &number);
-	if (number < 1)
+	if (!args.number) {
 		number = 1;
+	} else {
+		sscanf(args.number, "%d", &number);
+		if (number < 1)
+			number = 1;
+	}
 
 	p = chan->tech_pvt;