Index: /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs	(revision 7058)
+++ /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs	(revision 7059)
@@ -22,4 +22,5 @@
 using System;
 using System.Windows.Forms;
+using HeuristicLab.Collections;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
@@ -44,4 +45,13 @@
       return new JobPermission() { JobId = this.hiveExperimentId };
     }
+
+    protected override void Content_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<JobPermission> e) {
+      base.Content_ItemsRemoved(sender, e);
+      foreach (var item in e.Items) {
+        if (item.GrantedUserId != Guid.Empty) {
+          HiveClient.Delete(item);
+        }
+      }
+    }
   }
 }
Index: /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobListView.cs	(revision 7058)
+++ /trunk/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobListView.cs	(revision 7059)
@@ -63,8 +63,28 @@
         c.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
       }
+      foreach (var item in e.Items) {
+        item.ItemImageChanged += new EventHandler(item_ItemImageChanged);
+      }
+    }
+
+    void item_ItemImageChanged(object sender, EventArgs e) {
+      RefreshableJob job = sender as RefreshableJob;
+      if (job != null) {
+        foreach (ListViewItem item in this.itemsListView.Items) {
+          if (item.Tag != null) {
+            RefreshableJob cur = item.Tag as RefreshableJob;
+            if (cur != null && cur == job) {
+              this.UpdateListViewItemImage(item);
+            }
+          }
+        }
+      }
     }
 
     protected override void Content_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<RefreshableJob> e) {
       base.Content_ItemsRemoved(sender, e);
+      foreach (var item in e.Items) {
+        item.ItemImageChanged -= new EventHandler(item_ItemImageChanged);
+      }
       if (Content != null && Content.Count == 0) {
         foreach (ColumnHeader c in this.itemsListView.Columns) {
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs	(revision 7058)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs	(revision 7059)
@@ -173,5 +173,5 @@
     #region Delete
     public static void Delete(IHiveItem item) {
-      if (item.Id == Guid.Empty)
+      if (item.Id == Guid.Empty && item.GetType() != typeof(JobPermission))
         return;
 
@@ -510,5 +510,5 @@
         IEnumerable<JobPermission> jps = service.GetJobPermissions(jobId);
         foreach (var hep in jps) {
-          hep.GrantedUserName = service.GetUsernameByUserId(hep.GrantedUserId);
+          hep.UnmodifiedGrantedUserNameUpdate(service.GetUsernameByUserId(hep.GrantedUserId));
         }
         return new HiveItemCollection<JobPermission>(jps);
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs	(revision 7058)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/RefreshableJob.cs	(revision 7059)
@@ -51,4 +51,5 @@
           OnJobChanged();
           OnToStringChanged(this, EventArgs.Empty);
+          job_ItemImageChanged(this, EventArgs.Empty);
         }
       }
Index: /trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs	(revision 7058)
+++ /trunk/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs	(revision 7059)
@@ -37,4 +37,8 @@
     }
 
+    public void UnmodifiedGrantedUserNameUpdate(string userName) {
+      grantedUserName = userName;
+    }
+
     public JobPermission() {
       this.Permission = Permission.Read;
