diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 8a7b2aaeeac369aaf826846620b8c185585716dc..17f5e376763b413ea4123b07563f823bda70e784 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -125,6 +125,7 @@ static char imapserver[48];
 static char imapport[8];
 static char imapflags[128];
 static char imapfolder[64];
+static char imapparentfolder[64] = "\0";
 static char greetingfolder[64];
 static char authuser[32];
 static char authpassword[42];
@@ -5986,8 +5987,13 @@ static void imap_mailbox_name(char *spec, size_t len, struct vm_state *vms, int
 		snprintf(spec, len, "%s%s", tmp, use_folder? imapfolder: "INBOX");
 	else if (box == GREETINGS_FOLDER)
 		snprintf(spec, len, "%s%s", tmp, greetingfolder);
-	else
-		snprintf(spec, len, "%s%s%c%s", tmp, imapfolder, delimiter, mbox(box));
+	else 	/* Other folders such as Friends, Family, etc... */
+		if (!ast_strlen_zero(imapparentfolder)) {
+			/* imapparentfolder would typically be set to INBOX */
+			snprintf(spec, len, "%s%s%c%s", tmp, imapparentfolder, delimiter, mbox(box));
+		} else {
+			snprintf(spec, len, "%s%s", tmp, mbox(box));
+		}
 }
 
 static int init_mailstream(struct vm_state *vms, int box)
@@ -9577,6 +9583,7 @@ static int load_config(int reload)
 		ucfg = ast_config_load("users.conf", config_flags);
 	}
 
+	ast_copy_string(imapparentfolder, "\0", sizeof(imapparentfolder));
 	/* set audio control prompts */
 	strcpy(listen_control_forward_key,DEFAULT_LISTEN_CONTROL_FORWARD_KEY);
 	strcpy(listen_control_reverse_key,DEFAULT_LISTEN_CONTROL_REVERSE_KEY);
@@ -9731,6 +9738,9 @@ static int load_config(int reload)
 		} else {
 			ast_copy_string(imapfolder,"INBOX", sizeof(imapfolder));
 		}
+		if ((val = ast_variable_retrieve(cfg, "general", "imapparentfolder"))) {
+			ast_copy_string(imapparentfolder, val, sizeof(imapparentfolder));
+		}
 		if ((val = ast_variable_retrieve(cfg, "general", "imapgreetings"))) {
 			imapgreetings = ast_true(val);
 		} else {
diff --git a/configs/voicemail.conf.sample b/configs/voicemail.conf.sample
index d2213c56344f90ec44e7880264097c9140d47924..67c349d5e90bfd963b2ebd8a9e674659a2589e37 100644
--- a/configs/voicemail.conf.sample
+++ b/configs/voicemail.conf.sample
@@ -156,6 +156,11 @@ emaildateformat=%A, %B %d, %Y at %r
 ; If imapgreetings=yes, then specify which folder to store your greetings in. If
 ; you do not specify a folder, then INBOX will be used
 ;greetingsfolder=INBOX
+; Some IMAP server implementations store folders under INBOX instead of 
+; using a top level folder (ex. INBOX/Friends).  In this case, user
+; imapparentfolder to set the parent folder. For example, Cyrus IMAP does
+; NOT use INBOX as the parent. Default is to have no parent folder set.
+;imapparentfolder=INBOX
 ; 
 ; Users may be located in different timezones, or may have different 
 ; message announcements for their introductory message when they enter