diff --git a/include/asterisk/strings.h b/include/asterisk/strings.h
index b6ad77c4fc4b611b6d169ca9f90bf24f7080e77b..6750a278d7ac29efd73e8681a0bd7b3a7e02c878 100644
--- a/include/asterisk/strings.h
+++ b/include/asterisk/strings.h
@@ -226,7 +226,7 @@ int ast_false(const char *val);
   string.  It will also place a space in the result buffer in between each
   string from 'w'.
 */
-void ast_join(char *s, size_t len, const char *w[]);
+void ast_join(char *s, size_t len, char * const w[]);
 
 /*
   \brief Parse a time (integer) string.
diff --git a/utils.c b/utils.c
index bdb022e422d5e663fce08fa950ccf7c9246ddfb7..74d4854c40cee0bc34dbcf8763e213eb0380ef69 100644
--- a/utils.c
+++ b/utils.c
@@ -1050,7 +1050,7 @@ char *ast_process_quotes_and_slashes(char *start, char find, char replace_with)
 	return dataPut;
 }
 
-void ast_join(char *s, size_t len, const char *w[])
+void ast_join(char *s, size_t len, char * const w[])
 {
 	int x, ofs = 0;
 	const char *src;