diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/breakout/BreakoutRoomUsersUpdateMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/breakout/BreakoutRoomUsersUpdateMsgHdlr.scala
index 8d4825e49a8735182aa9607d0abc01b6f40c1866..1dbfa28c0e99b491add02d61488e8b0f6966f814 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/breakout/BreakoutRoomUsersUpdateMsgHdlr.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/breakout/BreakoutRoomUsersUpdateMsgHdlr.scala
@@ -3,6 +3,7 @@ package org.bigbluebutton.core.apps.breakout
 import org.bigbluebutton.common2.msgs._
 import org.bigbluebutton.core.api.BreakoutRoomUsersUpdateInternalMsg
 import org.bigbluebutton.core.domain.{ BreakoutRoom2x, MeetingState2x }
+import org.bigbluebutton.core.models.Users2x
 import org.bigbluebutton.core.running.{ MeetingActor, OutMsgRouter }
 
 trait BreakoutRoomUsersUpdateMsgHdlr {
@@ -30,6 +31,13 @@ trait BreakoutRoomUsersUpdateMsgHdlr {
       val updatedRoom = room.copy(users = msg.users, voiceUsers = msg.voiceUsers)
       val msgEvent = broadcastEvent(updatedRoom)
       outGW.send(msgEvent)
+
+      //Update user lastActivityTime in parent room (to avoid be ejected while is in Breakout room)
+      for {
+        breakoutRoomUser <- updatedRoom.users
+        user <- Users2x.findWithBreakoutRoomId(liveMeeting.users2x, breakoutRoomUser.id)
+      } yield Users2x.updateLastUserActivity(liveMeeting.users2x, user)
+
       model.update(updatedRoom)
     }
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala
index 2c131fb1c7a87fd6491b4be39d915eac9fd24ec5..7ff8166bbee0a3d85b31638f399d55f4f7c2f7ce 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala
@@ -8,6 +8,14 @@ object Users2x {
     users.toVector find (u => u.intId == intId)
   }
 
+  def findWithBreakoutRoomId(users: Users2x, breakoutRoomId: String): Option[UserState] = {
+    //userId + "-" + roomSequence
+    val userIdParts = breakoutRoomId.split("-")
+    val userExtId = userIdParts(0)
+
+    users.toVector find (u => u.extId == userExtId)
+  }
+
   def findAll(users: Users2x): Vector[UserState] = users.toVector
 
   def add(users: Users2x, user: UserState): Option[UserState] = {