diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 673990ca4c389446d34627cbd382bf1cf8766767..a69b306f2852197065b31f1dc722f40788ec19b6 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -10617,7 +10617,7 @@ static int load_config(int reload)
 	char *cat;
 	struct ast_variable *var;
 	const char *val;
-	char *q, *stringp, *tmp;
+	char *q, *stringp;
 	int x;
 	int tmpadsi[4];
 	struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
@@ -10926,16 +10926,8 @@ static int load_config(int reload)
 		}
 
 		val = ast_variable_retrieve(cfg, "general", "format");
-		if (!val) {
+		if (!val)
 			val = "wav";	
-		} else {
-			tmp = ast_strdupa(val);
-			val = ast_format_str_reduce(tmp);
-			if (!val) {
-				ast_log(LOG_ERROR, "Error processing format string, defaulting to format 'wav'\n");
-				val = "wav";
-			}
-		}
 		ast_copy_string(vmfmts, val, sizeof(vmfmts));
 
 		skipms = 3000;
diff --git a/include/asterisk/file.h b/include/asterisk/file.h
index 8def42ae5d41fb169285ad47df4f2abcb487d537..43b32fd12a7faf61712976bd5534435f3a2f7fe5 100644
--- a/include/asterisk/file.h
+++ b/include/asterisk/file.h
@@ -40,9 +40,6 @@ extern "C" {
 struct ast_filestream;
 struct ast_format;
 
-/*! The maximum number of formats we expect to see in a format string */
-#define AST_MAX_FORMATS 10
-
 /*! Convenient for waiting */
 #define AST_DIGIT_ANY "0123456789#*ABCD"
 #define AST_DIGIT_ANYNUM "0123456789"
@@ -328,14 +325,6 @@ int ast_file_init(void);
 
 #define AST_RESERVED_POINTERS 20
 
-/*! Remove duplicate formats from a format string. */
-/*!
- * \param fmts a format string, this string will be modified
- * \retval NULL error
- * \return a pointer to the reduced format string, this is a pointer to fmts
- */
-char *ast_format_str_reduce(char *fmts);
-
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
diff --git a/main/app.c b/main/app.c
index 1c17984f4621afaf22ed94ee7c5f9b939c90430b..881f99dad36ab0aa24de9f6c075f0dcf86167ef4 100644
--- a/main/app.c
+++ b/main/app.c
@@ -55,7 +55,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 AST_THREADSTORAGE_PUBLIC(ast_str_thread_global_buf);
 
 
-#define AST_MAX_FORMATS 10
+#define MAX_OTHER_FORMATS 10
 
 static AST_RWLIST_HEAD_STATIC(groups, ast_group_info);
 
@@ -693,8 +693,8 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
 	char *fmts;
 	char comment[256];
 	int x, fmtcnt = 1, res = -1, outmsg = 0;
-	struct ast_filestream *others[AST_MAX_FORMATS];
-	char *sfmt[AST_MAX_FORMATS];
+	struct ast_filestream *others[MAX_OTHER_FORMATS];
+	char *sfmt[MAX_OTHER_FORMATS];
 	char *stringp = NULL;
 	time_t start, end;
 	struct ast_dsp *sildet = NULL;   /* silence detector dsp */
@@ -747,8 +747,8 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
 	sfmt[0] = ast_strdupa(fmts);
 
 	while ((fmt = strsep(&stringp, "|"))) {
-		if (fmtcnt > AST_MAX_FORMATS - 1) {
-			ast_log(LOG_WARNING, "Please increase AST_MAX_FORMATS in file.h\n");
+		if (fmtcnt > MAX_OTHER_FORMATS - 1) {
+			ast_log(LOG_WARNING, "Please increase MAX_OTHER_FORMATS in app.c\n");
 			break;
 		}
 		sfmt[fmtcnt++] = ast_strdupa(fmt);
@@ -938,7 +938,7 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
 	}
 
 	if (prepend && outmsg) {
-		struct ast_filestream *realfiles[AST_MAX_FORMATS];
+		struct ast_filestream *realfiles[MAX_OTHER_FORMATS];
 		struct ast_frame *fr;
 
 		for (x = 0; x < fmtcnt; x++) {