diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/model/users/VoiceUsers2x.as b/bigbluebutton-client/src/org/bigbluebutton/core/model/users/VoiceUsers2x.as
index 514a75d6e1bd8520ac182c57311a457b3c8b268d..a16e6241eedd95f452036b72fc28d27f3105985d 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/model/users/VoiceUsers2x.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/model/users/VoiceUsers2x.as
@@ -7,8 +7,14 @@ package org.bigbluebutton.core.model.users
     
     private var _users:ArrayCollection = new ArrayCollection();
     
-    public function add(user: VoiceUser2x):void {
-      _users.addItem(user);
+    public function add(nuser: VoiceUser2x):void {
+      var index:int = getIndex(nuser.intId);
+      if (index != -1) {
+        // replace this user with the new user
+        _users.setItemAt(nuser, index);
+      } else {
+        _users.addItem(nuser);
+      }
     }
     
     public function remove(userId: String):VoiceUser2x {
@@ -59,7 +65,7 @@ package org.bigbluebutton.core.model.users
       
       return -1;
     }
-       
+    
     public function getVoiceOnlyUsers():Array {
       var temp: Array = new Array();
       for (var i:int = 0; i < _users.length; i++) {