diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java
index 05c9c752d68c4dc9a61a38f0bcfac459de007af2..476ffd1b579e133b49eae195c9ed9de7fe8c515c 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java
@@ -56,11 +56,19 @@ public class RoomsManager {
 		log.debug("Remove room {}", name);
 		Room room = rooms.remove(name);
 		if (checkEvtListener() && room != null) {
+			room.endAndKickAll();
 			conferenceEventListener.ended(room);
 			log.debug("Notified event listener of conference end");
 		}
 	}
 
+	public void destroyAllRooms() {
+		for (Map.Entry<String,Room> entry : rooms.entrySet()) {
+		    Room room = entry.getValue();
+		    room.endAndKickAll();
+		}
+	}
+	
 	private boolean checkEvtListener() {
 		return conferenceEventListener != null;
 	}
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
index e51380878a7193ac962bc530c53a3fdee11a0903..b126cabce4229861eae46462ebcd102f2aac6c60 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
@@ -45,6 +45,10 @@ public class ParticipantsApplication {
 		return true;
 	}
 	
+	public void destroyAllRooms() {
+		roomsManager.destroyAllRooms();
+	}
+	
 	public boolean hasRoom(String name) {
 		return roomsManager.hasRoom(name);
 	}