diff --git a/main/utils.c b/main/utils.c
index feb4a621ffd1672a2ffa6d405db522ece2022c51..3a8e85f06e69e27b83cdcfcefebd90caf42c3bcf 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1219,6 +1219,9 @@ int ast_dynamic_str_thread_build_va(struct ast_dynamic_str **buf, size_t max_len
 		if (!(*buf = ast_realloc(*buf, (*buf)->len + sizeof(*(*buf)))))
 			return AST_DYNSTR_BUILD_FAILED;
 
+		if (append)
+			(*buf)->str[offset] = '\0';
+
 		if (ts)
 			pthread_setspecific(ts->key, *buf);