diff --git a/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js b/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
index f8a04154b10d575dc24f1334b0085acaabfaea4b..c182f946e24d6a7a9a0ce49731bad4d096f62879 100644
--- a/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
+++ b/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
@@ -30,7 +30,7 @@ export default function handleValidateAuthToken({ body }, meetingId) {
   if (!User) return;
 
   // Publish user join message
-  if (valid && !waitForApproval) {
+  if (valid && !waitForApproval && !!User.connectionId) {
     Logger.info('User=', User);
     userJoin(meetingId, userId, User.authToken);
   }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js b/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js
index 9c21e9be7912a8f253cbdd1b73fceeacbce6391b..898c286ed61081bbc45abc8addbfeafa77ee8302 100755
--- a/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/userLeaving.js
@@ -27,6 +27,13 @@ export default function userLeaving(meetingId, userId, connectionId) {
     return false;
   }
 
+  const modifier = {
+    $set: {
+      connectionId: false,
+    },
+  };
+  Users.upsert(selector, modifier);
+
   const payload = {
     userId,
     sessionId: meetingId,
diff --git a/bigbluebutton-html5/imports/api/users/server/modifiers/removeUser.js b/bigbluebutton-html5/imports/api/users/server/modifiers/removeUser.js
index 8535499e2987ecb4a492d95dfad6a950fbe177e3..0e0cbd01228fdc7305f1e931ac9b7a6a334a2acc 100755
--- a/bigbluebutton-html5/imports/api/users/server/modifiers/removeUser.js
+++ b/bigbluebutton-html5/imports/api/users/server/modifiers/removeUser.js
@@ -45,7 +45,7 @@ export default function removeUser(meetingId, userId) {
       return Logger.error(`Removing user from collection: ${err}`);
     }
 
-    const sessionUserId = `${meetingId}-${userId}`;
+    const sessionUserId = `${meetingId}--${userId}`;
     clearAllSessions(sessionUserId);
 
     clearUserInfoForRequester(meetingId, userId);