diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 004f4e854e6b644c8a289b13e15d3e3f1f62001c..102e3c4fc13a9c2b9b64220816830cb00ba720bf 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -6037,11 +6037,14 @@ static void sig_pri_handle_setup(struct sig_pri_span *pri, pri_event *e)
 
 	/* Setup the user tag for party id's from this device for this call. */
 	if (pri->append_msn_to_user_tag) {
-		snprintf(pri->pvts[chanpos]->user_tag,
+		int len = snprintf(pri->pvts[chanpos]->user_tag,
 			sizeof(pri->pvts[chanpos]->user_tag), "%s_%s",
 			pri->initial_user_tag,
 			pri->nodetype == PRI_NETWORK
 				? plancallingnum : e->ring.callednum);
+		if (len >= sizeof(pri->pvts[chanpos]->user_tag)) {
+			ast_log(LOG_WARNING, "user_tag '%s' truncated\n", pri->pvts[chanpos]->user_tag);
+		}
 	} else {
 		ast_copy_string(pri->pvts[chanpos]->user_tag,
 			pri->initial_user_tag, sizeof(pri->pvts[chanpos]->user_tag));
@@ -6435,7 +6438,7 @@ static void *pri_dchannel(void *vpri)
 
 		if (e) {
 			int chanpos = -1;
-			char cause_str[35];
+			char cause_str[36];
 
 			if (pri->debug) {
 				ast_verbose("Span %d: Processing event %s(%d)\n",