Index: /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPanel.java
===================================================================
--- /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPanel.java	(revision 29580)
+++ /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPanel.java	(revision 29581)
@@ -68,4 +68,5 @@
         connection.addListener(this);
         connection.checkLogin();
+        updateTitleAlarm();
     }
 
@@ -77,5 +78,5 @@
             }
         };
-        String userName = JosmUserIdentityManager.getInstance().getUserName();
+        String userName = Main.pref.get("geochat.username", JosmUserIdentityManager.getInstance().getUserName());
         if( userName == null )
             userName = "";
@@ -171,9 +172,18 @@
      */
     protected void updateTitleAlarm() {
-        int alarmLevel = chatPanes.getNotifyLevel();
+        int alarmLevel = connection.isLoggedIn() ? chatPanes.getNotifyLevel() : 0;
         if( !isDialogInCollapsedView() && alarmLevel > 1 )
             alarmLevel = 1;
-        String title = users.isEmpty() ? tr("GeoChat") :
-                trn("GeoChat ({0} user)", "GeoChat ({0} users)", users.size(), users.size());
+
+        String comment;
+        if( connection.isLoggedIn() ) {
+            comment = trn("{0} user", "{0} users", users.size() + 1, users.size() + 1);
+        } else {
+            comment = tr("not logged in");
+        }
+
+        String title = tr("GeoChat");
+        if( comment != null )
+            title = title + " (" + comment + ")";
         String alarm = alarmLevel <= 0 ? "" : alarmLevel == 1 ? "* " : "!!! ";
         setTitle(alarm + title);
@@ -193,4 +203,5 @@
 
     public void loggedIn( String userName ) {
+        Main.pref.put("geochat.username", userName);
         if( gcPanel.getComponentCount() == 1 ) {
             gcPanel.remove(0);
@@ -198,4 +209,5 @@
             gcPanel.add(input, BorderLayout.SOUTH);
         }
+        updateTitleAlarm();
     }
 
@@ -214,4 +226,5 @@
             }
         }
+        updateTitleAlarm();
     }
 
Index: /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPopupAdapter.java
===================================================================
--- /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPopupAdapter.java	(revision 29580)
+++ /applications/editors/josm/plugins/geochat/src/geochat/GeoChatPopupAdapter.java	(revision 29581)
@@ -116,4 +116,5 @@
             if( !wasAdded )
                 Main.map.mapView.removeTemporaryLayer(panel);
+            panel.userLayerActive = wasAdded;
             putValue(SELECTED_KEY, Boolean.valueOf(panel.userLayerActive));
             Main.map.mapView.repaint();
