Index: lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java =================================================================== diff -u -rd19a95db673b7cf90351de4d567299c5fa86b450 -r923f5bc207d13c2da27888f6595dbe8dd29e4b75 --- lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java (.../CommandWebsocketServer.java) (revision d19a95db673b7cf90351de4d567299c5fa86b450) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/command/CommandWebsocketServer.java (.../CommandWebsocketServer.java) (revision 923f5bc207d13c2da27888f6595dbe8dd29e4b75) @@ -149,9 +149,17 @@ */ @OnClose public void unregisterUser(Session session, CloseReason reason) { + String login = session.getUserPrincipal().getName(); + if (login == null) { + return; + } + Long lessonId = Long.valueOf(session.getRequestParameterMap().get(AttributeNames.PARAM_LESSON_ID).get(0)); Map lessonWebsockets = CommandWebsocketServer.websockets.get(lessonId); - String login = session.getUserPrincipal().getName(); + if (lessonWebsockets == null) { + return; + } + lessonWebsockets.remove(login); }