diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index b4eec3038155700765ed462bd66cd273841cd32d..887ac4ce1f22146e6c5f821d5b33185491f90e46 100755
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -91,6 +91,7 @@ static char *descrip3 =
 "  MeetMeAdmin(confno,command[,user]): Run admin command for conference\n"
 "      'K' -- Kick all users out of conference\n"
 "      'k' -- Kick one user out of conference\n"
+"      'e' -- Eject last user that joined\n"
 "      'L' -- Lock conference\n"
 "      'l' -- Unlock conference\n"
 "      'M' -- Mute conference\n"
@@ -500,6 +501,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
 {
 	struct ast_conference *prev=NULL, *cur;
 	struct ast_conf_user *user = malloc(sizeof(struct ast_conf_user));
+	struct ast_conf_user *usr = NULL;
 	int fd;
 	struct zt_confinfo ztc;
 	struct ast_frame *f;
@@ -873,9 +875,9 @@ zapretry:
 						if (!menu_active) {
 							menu_active = 1;
 							/* Record this sound! */
-							if (!ast_streamfile(chan, "conf-adminmenu", chan->language))
+							 if (!ast_streamfile(chan, "conf-adminmenu", chan->language))
 								dtmf = ast_waitstream(chan, AST_DIGIT_ANY);
-							else
+							else 
 								dtmf = 0;
 						} else 
 							dtmf = f->subclass;
@@ -915,6 +917,16 @@ zapretry:
 											ast_waitstream(chan, "");
 									}
 									break;
+                                                                case '6': /* Eject last user */
+				                                        menu_active = 0;
+									usr = conf->lastuser;
+									if ((usr->chan->name == chan->name)||(usr->userflags & CONFFLAG_ADMIN)) {
+										if(!ast_streamfile(chan, "conf-errormenu", chan->language))
+											ast_waitstream(chan, "");
+									} else 
+										usr->adminflags |= ADMINFLAG_KICKME;
+									ast_stopstream(chan);
+									break;	
 								default:
 									menu_active = 0;
 									/* Play an error message! */
@@ -1538,11 +1550,21 @@ static int admin_exec(struct ast_channel *chan, void *data) {
 						}
 					}
 					break;
+                                case 101: /* e: Eject last user*/
+                                        user = cnf->lastuser;
+                                                if (!(user->userflags & CONFFLAG_ADMIN)) {
+                                                        user->adminflags |= ADMINFLAG_KICKME;
+                                                        break;
+                                                } else
+							ast_log(LOG_NOTICE, "Not kicking last user, is an Admin!\n");
+                                        }
+                                        break;
+
 				case 77: /* M: Mute */ 
 					if (user) {
 						user->adminflags |= ADMINFLAG_MUTED;
 					} else {
-						ast_log(LOG_NOTICE, "Specified User not found!");
+						ast_log(LOG_NOTICE, "Specified User not found!\n");
 					}
 					break;
 				case 78: /* N: Mute all users */
diff --git a/sounds.txt b/sounds.txt
index 7f73742141b6d2abf8bbbf2e52f51f6153479434..5c5c1ea05c17ce2bd02b8e7b87be93fccb0c911e 100755
--- a/sounds.txt
+++ b/sounds.txt
@@ -647,7 +647,7 @@
 
 %conf-kicked.gsm%You have been kicked from this conference
 
-%conf-adminmenu.gsm%Please press 1 to mute or unmute yourself, or press 2 to lock or unlock the conference
+%conf-adminmenu.gsm%Please press 1 to mute or unmute yourself, or press 2 to lock or unlock the conference, or press 6 to kick the last user
 
 %conf-usermenu.gsm%Please press 1 to mute or unmute yourself
 
diff --git a/sounds/conf-adminmenu.gsm b/sounds/conf-adminmenu.gsm
index ba5301717ecca001edee8ce1a29364af036ddb09..3222995b5e0b99099b73afddf2d46477f4c7677a 100755
Binary files a/sounds/conf-adminmenu.gsm and b/sounds/conf-adminmenu.gsm differ