diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index cf8baea6c83b85892f793369f54cf73ff07590db..dd088710fe3a83d9cb4f95a72fd6c9dbdd01ae01 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -722,7 +722,7 @@ static void subscription_persistence_update(struct sip_subscription_tree *sub_tr
 			|| type == SUBSCRIPTION_PERSISTENCE_RECREATED) {
 			if (rdata->msg_info.msg_buf) {
 				ast_copy_string(sub_tree->persistence->packet, rdata->msg_info.msg_buf,
-						MIN(sizeof(sub_tree->persistence->packet), rdata->msg_info.len));
+						MIN(sizeof(sub_tree->persistence->packet), rdata->msg_info.len + 1));
 			} else {
 				ast_copy_string(sub_tree->persistence->packet, rdata->pkt_info.packet,
 						sizeof(sub_tree->persistence->packet));