diff --git a/server/bbb.js b/server/bbb.js
index 99a4fe4aff2879ba54df3e406afa0f1bab0936d4..0dccf817ea43b71783b20bef84b6c06bd9836d90 100644
--- a/server/bbb.js
+++ b/server/bbb.js
@@ -148,7 +148,7 @@ module.exports.getUserList = async function getUserList(authenticatedPage) {
       name: userName,
     });
   }
-  return users;
+  return users.filter(user => !user.classes.includes('noVoice'));
 };
 
 module.exports.getRoomName = async function getRoomName(authenticatedPage) {
diff --git a/server/server.js b/server/server.js
index 993bbab1bf62ee9ce2e40c1b489c4305e5a17b09..a8a1c88b78fba0dd807e44a5e84ed90a14751f45 100644
--- a/server/server.js
+++ b/server/server.js
@@ -74,7 +74,7 @@ async function attachToRoom(roomUrl) {
 
   subProcess.on("message", (m) => {
     if (m.eventName === "roomInfo") {
-      room.userCount = m.data.count;
+      room.userCount = m.data.users.length;
       room.users = m.data.users;
       room.name = m.data.name;
     } else if (m.eventName === "sessionClosed") {
@@ -160,7 +160,7 @@ function generateRoomList() {
       uid: roomInfo.uid,
       url: roomInfo.url,
       name: roomInfo.name,
-      userCount: roomInfo.userCount,
+      userCount: parseInt(roomInfo.userCount, 10),
       users: roomInfo.users,
     });
   }