diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 4c8ce286bead5c4a88bf9d025d56bc42a9a3f22c..fd72a8546e5972052e76525bc9a7669d45d5cd1f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7347,7 +7347,8 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
 		ast_string_field_set(p, domain, r->domain);
 		ast_string_field_set(p, opaque, r->opaque);
 		ast_string_field_set(p, qop, r->qop);
-		p->noncecount = r->noncecount++;
+		r->noncecount++;
+		p->noncecount = r->noncecount;
 
 		memset(digest,0,sizeof(digest));
 		if(!build_reply_digest(p, sipmethod, digest, sizeof(digest)))