diff --git a/main/cdr.c b/main/cdr.c
index 363a2c6b1ea58cdcc81b5f22f00f7cb1247ebc3f..214af2cbc992e56801e496287bf09074bd5c07ea 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -3278,7 +3278,7 @@ void ast_cdr_setuserfield(const char *channel_name, const char *userfield)
 			if (it_cdr->fn_table == &finalized_state_fn_table && it_cdr->next != NULL) {
 				continue;
 			}
-			strcpy(it_cdr->party_a.userfield, userfield);
+			ast_copy_string(it_cdr->party_a.userfield, userfield, AST_MAX_USER_FIELD);
 		}
 		ao2_unlock(cdr);
 	}