diff --git a/src/usersyncroniser.ts b/src/usersyncroniser.ts
index f5794a86d4aeb7a03e261c394f4da5ce1d3dec4d..07a4dacbbae94963fa86937b5e950c60d42870ad 100644
--- a/src/usersyncroniser.ts
+++ b/src/usersyncroniser.ts
@@ -344,10 +344,14 @@ export class UserSyncroniser {
         await Promise.all(
             wantRooms.map(
                 async (roomId) => {
-                    if (doJoin) {
-                        await this.JoinRoom(member, roomId);
-                    } else {
-                        await this.ApplyStateToRoom(state, roomId, member.guild.id);
+                    try {
+                        if (doJoin) {
+                            await this.JoinRoom(member, roomId);
+                        } else {
+                            await this.ApplyStateToRoom(state, roomId, member.guild.id);
+                        }
+                    } catch (err) {
+                        log.error(`Failed to update ${member.id} (${member.user.username}) in ${roomId}`, err);
                     }
                 },
             ),