diff --git a/funcs/func_cut.c b/funcs/func_cut.c
index f0702215e1bfa943b6f915fa74ae59a5b47e0099..7dc038906c0103826afa1ed75ddfdf6ae25d7845 100644
--- a/funcs/func_cut.c
+++ b/funcs/func_cut.c
@@ -120,8 +120,9 @@ static int sort_internal(struct ast_channel *chan, char *data, char *buffer, siz
 		int blen = strlen(buffer);
 		if (element_count++) {
 			strncat(buffer + blen, ",", buflen - blen - 1);
+			blen++;
 		}
-		strncat(buffer + blen + 1, sortable_keys[count2].key, buflen - blen - 2);
+		strncat(buffer + blen, sortable_keys[count2].key, buflen - blen - 1);
 	}
 
 	return 0;