diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b0075ad691e0a4c6ce04d798e899f6fb91c0cee7..227151d63566138405fbf30dbfb056bf77994111 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -22050,7 +22050,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
 	struct sip_peer tmp_peer;
 	const char *srvlookup = NULL;
 	static int deprecation_warning = 1;
-	struct ast_str *fullcontact = ast_str_alloca(sizeof(peer->fullcontact));
+	struct ast_str *fullcontact = ast_str_alloca(512);
 	
 	if (!realtime || ast_test_flag(&global_flags[1], SIP_PAGE2_RTCACHEFRIENDS)) {
 		/* Note we do NOT use find_peer here, to avoid realtime recursion */