diff --git a/res/res_pjsip_diversion.c b/res/res_pjsip_diversion.c
index 3dfae455bec437d4e46c2861412395fd4313c4cc..ea2c7cd13351fcfc0d78646a0758f7e2bc99a207 100644
--- a/res/res_pjsip_diversion.c
+++ b/res/res_pjsip_diversion.c
@@ -117,7 +117,9 @@ static void set_redirecting_value(char **dst, const pj_str_t *src)
 {
 	ast_free(*dst);
 	*dst = ast_malloc(pj_strlen(src) + 1);
-	ast_copy_pj_str(*dst, src, pj_strlen(src) + 1);
+	if (*dst) {
+		ast_copy_pj_str(*dst, src, pj_strlen(src) + 1);
+	}
 }
 
 static void set_redirecting_id(pjsip_name_addr *name_addr, struct ast_party_id *data,