diff --git a/channels/chan_multicast_rtp.c b/channels/chan_multicast_rtp.c
index 509a0ca8c6f81bd5c2d2bf22cccb3967d5875c1f..55b757567fc926a07b9df9112b7647d7b0284d01 100644
--- a/channels/chan_multicast_rtp.c
+++ b/channels/chan_multicast_rtp.c
@@ -111,11 +111,13 @@ static struct ast_channel *multicast_rtp_request(const char *type, format_t form
 {
 	char *tmp = ast_strdupa(data), *multicast_type = tmp, *destination, *control;
 	struct ast_rtp_instance *instance;
-	struct ast_sockaddr control_address = { .len = 0 };
+	struct ast_sockaddr control_address;
 	struct ast_sockaddr destination_address;
 	struct ast_channel *chan;
 	format_t fmt = ast_best_codec(format);
 
+	ast_sockaddr_setnull(&control_address);
+
 	/* If no type was given we can't do anything */
 	if (ast_strlen_zero(multicast_type)) {
 		goto failure;