diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index d74342cb197adb344b014c3f96e2b89032c8ba83..abf7ae6ae7131c6bddb336d3b74eddfc59b56d6b 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -4139,8 +4139,7 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level)
 {
 	unsigned int *rtpheader;
 	int hdrlen = 12;
-	int res;
-	int payload;
+	int res, payload = 0;
 	char data[256];
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
 	struct ast_sockaddr remote_address = { {0,} };
@@ -4160,7 +4159,7 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level)
 
 	/* Get a pointer to the header */
 	rtpheader = (unsigned int *)data;
-	rtpheader[0] = htonl((2 << 30) | (1 << 23) | (payload << 16) | (rtp->seqno++));
+	rtpheader[0] = htonl((2 << 30) | (payload << 16) | (rtp->seqno));
 	rtpheader[1] = htonl(rtp->lastts);
 	rtpheader[2] = htonl(rtp->ssrc); 
 	data[12] = level;
@@ -4181,6 +4180,8 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level)
 			    AST_RTP_CN, rtp->seqno, rtp->lastdigitts, res - hdrlen);
 	}
 
+	rtp->seqno++;
+
 	return res;
 }