Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableRoleListView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableRoleListView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableRoleListView.cs	(revision 8141)
@@ -50,7 +50,7 @@
         base.Content_Refreshed(sender, e);
         roleListView.Enabled = true;
-        storeButton.Enabled = true;
         roleListView.Content = Content.Roles;
         if (Content.Roles != null) {
+          storeButton.Enabled = true;
           Content.Roles.ItemsRemoved += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<Role>>(Roles_ItemsRemoved);
         }
Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserGroupListView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserGroupListView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserGroupListView.cs	(revision 8141)
@@ -50,7 +50,7 @@
         base.Content_Refreshed(sender, e);
         userGroupListView.Enabled = true;
-        storeButton.Enabled = true;
         userGroupListView.Content = Content.Groups;
         if (Content.Groups != null) {
+          storeButton.Enabled = true;
           Content.Groups.ItemsRemoved += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<UserGroup>>(Groups_ItemsRemoved);
         }
Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserListView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserListView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/RefreshableUserListView.cs	(revision 8141)
@@ -50,7 +50,7 @@
         base.Content_Refreshed(sender, e);
         userListView.Enabled = true;
-        storeButton.Enabled = true;
         userListView.Content = Content.Users;
         if (Content.Users != null) {
+          storeButton.Enabled = true;
           Content.Users.ItemsRemoved += new Collections.CollectionItemsChangedEventHandler<Collections.IndexedItem<User>>(Users_ItemsRemoved);
         }
Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs	(revision 8141)
@@ -86,4 +86,5 @@
       // storeButton
       // 
+      this.storeButton.Enabled = false;
       this.storeButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.PublishToWeb;
       this.storeButton.Location = new System.Drawing.Point(31, 58);
Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.cs	(revision 8141)
@@ -38,4 +38,16 @@
     }
 
+    protected override void RegisterContentEvents() {
+      base.RegisterContentEvents();
+      Access.AccessClient.Instance.Refreshing += new EventHandler(Content_Refreshing);
+      refreshableLightweightUserView.StorableStateChanged += new EventHandler(refreshableLightweightUserView_StorableStateChanged);
+    }
+
+    protected override void DeregisterContentEvents() {
+      Access.AccessClient.Instance.Refreshing -= new EventHandler(Content_Refreshing);
+      refreshableLightweightUserView.StorableStateChanged -= new EventHandler(refreshableLightweightUserView_StorableStateChanged);
+      base.DeregisterContentEvents();
+    }
+
     protected override void OnContentChanged() {
       base.OnContentChanged();
@@ -51,6 +63,6 @@
         idTextBox.Text = Content.Id.ToString();
 
-        refreshableLightweightUserView.Content = Access.AccessClient.Instance;
-        refreshableLightweightUserView.FetchSelectedUsers = new Func<List<Guid>>(delegate { return AccessAdministrationClient.CallAccessService<List<Guid>>(s => s.GetUserGroupIdsOfGroup(Content.Id)); });
+        refreshableLightweightUserView.Content = Content.Id != Guid.Empty ? Access.AccessClient.Instance : null;
+        refreshableLightweightUserView.FetchSelectedUsers = Content.Id != Guid.Empty ? new Func<List<Guid>>(delegate { return AccessAdministrationClient.CallAccessService<List<Guid>>(s => s.GetUserGroupIdsOfGroup(Content.Id)); }) : null;
       }
     }
@@ -77,4 +89,12 @@
       AccessAdministrationClient.Instance.ExecuteActionAsync(deleteAction, PluginInfrastructure.ErrorHandling.ShowErrorDialog);
     }
+
+    private void Content_Refreshing(object sender, EventArgs e) {
+      storeButton.Enabled = false;
+    }
+
+    private void refreshableLightweightUserView_StorableStateChanged(object sender, EventArgs e) {
+      storeButton.Enabled = true;
+    }
   }
 }
Index: trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Administration/3.3/Views/UserView.cs	(revision 8141)
@@ -57,5 +57,5 @@
         lastActivityTextBox.Text = Content.LastActivityDate.ToString();
         lastLoginTextBox.Text = Content.LastLoginDate.ToString();
-        refreshableRoleSelectionListView.Content = AccessAdministrationClient.Instance;
+        refreshableRoleSelectionListView.Content = Content.Id != Guid.Empty ? AccessAdministrationClient.Instance : null;
         refreshableRoleSelectionListView.CurrentUser = Content;
       }
Index: trunk/sources/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.cs	(revision 8140)
+++ trunk/sources/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.cs	(revision 8141)
@@ -76,4 +76,5 @@
 
       lightweightUserView.Content = new ItemList<UserGroupBase>(Content.UsersAndGroups.Where(x => selectedUsers.Contains(x.Id)));
+      if (lightweightUserView.Content != null) OnStorableStateChanged();
     }
 
@@ -112,4 +113,15 @@
     }
 
+    public event EventHandler StorableStateChanged;
+    protected virtual void OnStorableStateChanged() {
+      if (InvokeRequired)
+        Invoke((MethodInvoker)OnStorableStateChanged);
+      else {
+        EventHandler handler = StorableStateChanged;
+        if (handler != null)
+          handler(this, EventArgs.Empty);
+      }
+    }
+
     private void lightweightUserView_SelectedUsersChanged(object sender, EventArgs e) {
       OnSelectedUsersChanged();
