Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs	(revision 6924)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionListView.cs	(revision 6925)
@@ -21,5 +21,4 @@
 
 using System;
-using System.ComponentModel;
 using System.Windows.Forms;
 using HeuristicLab.Core.Views;
@@ -45,46 +44,4 @@
       return new JobPermission() { JobId = this.hiveExperimentId };
     }
-
-    protected override void RegisterContentEvents() {
-      base.RegisterContentEvents();
-
-      if (Content != null) {
-        foreach (JobPermission permission in Content) {
-          permission.PropertyChanged += new PropertyChangedEventHandler(permission_PropertyChanged);
-        }
-      }
-    }
-
-    protected override void DeregisterContentEvents() {
-      base.DeregisterContentEvents();
-
-      if (Content != null) {
-        foreach (JobPermission permission in Content) {
-          permission.PropertyChanged -= new PropertyChangedEventHandler(permission_PropertyChanged);
-        }
-      }
-    }
-
-    protected override void Content_ItemsAdded(object sender, Collections.CollectionItemsChangedEventArgs<JobPermission> e) {
-      base.Content_ItemsAdded(sender, e);
-
-      foreach (JobPermission permission in e.Items) {
-        permission.PropertyChanged += new PropertyChangedEventHandler(permission_PropertyChanged);
-      }
-    }
-
-    protected override void Content_ItemsRemoved(object sender, Collections.CollectionItemsChangedEventArgs<JobPermission> e) {
-      foreach (JobPermission permission in e.Items) {
-        permission.PropertyChanged -= new PropertyChangedEventHandler(permission_PropertyChanged);
-      }
-    }
-
-    protected override void Content_CollectionReset(object sender, Collections.CollectionItemsChangedEventArgs<JobPermission> e) {
-      Content_ItemsRemoved(sender, e);
-    }
-
-    void permission_PropertyChanged(object sender, PropertyChangedEventArgs e) {
-      OnContentChanged();
-    }
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.Designer.cs	(revision 6924)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.Designer.cs	(revision 6925)
@@ -60,5 +60,5 @@
       this.usernameTextBox.Size = new System.Drawing.Size(281, 20);
       this.usernameTextBox.TabIndex = 3;
-      this.usernameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.usernameTextBox_Validating);
+      this.usernameTextBox.TextChanged += new System.EventHandler(this.usernameTextBox_TextChanged);
       // 
       // permissionComboBox
@@ -72,5 +72,5 @@
       this.permissionComboBox.Size = new System.Drawing.Size(281, 21);
       this.permissionComboBox.TabIndex = 4;
-      this.permissionComboBox.Validating += new System.ComponentModel.CancelEventHandler(this.permissionComboBox_Validating);
+      this.permissionComboBox.SelectedValueChanged += new System.EventHandler(this.permissionComboBox_SelectedValueChanged);
       // 
       // HiveJobPermissionView
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.cs	(revision 6924)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobPermissionView.cs	(revision 6925)
@@ -20,5 +20,4 @@
 #endregion
 
-using System.ComponentModel;
 using HeuristicLab.Clients.Hive.Views;
 using HeuristicLab.MainForm;
@@ -62,14 +61,15 @@
     }
 
-    #region Child Control Events
-
-    private void usernameTextBox_Validating(object sender, CancelEventArgs e) {
-      Content.GrantedUserName = usernameTextBox.Text;
+    private void usernameTextBox_TextChanged(object sender, System.EventArgs e) {
+      if (Content != null) {
+        Content.GrantedUserName = usernameTextBox.Text;
+      }
     }
 
-    private void permissionComboBox_Validating(object sender, CancelEventArgs e) {
-      Content.Permission = (Permission)permissionComboBox.SelectedItem;
+    private void permissionComboBox_SelectedValueChanged(object sender, System.EventArgs e) {
+      if (Content != null) {
+        Content.Permission = (Permission)permissionComboBox.SelectedItem;
+      }
     }
-    #endregion
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs	(revision 6924)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/JobPermission.cs	(revision 6925)
@@ -37,8 +37,13 @@
     }
 
-    #region Constructors and Cloning
     public JobPermission() {
       this.Permission = Permission.Read;
-      this.PropertyChanged += new PropertyChangedEventHandler(HiveExperimentPermission_PropertyChanged);
+    }
+
+    protected override void OnPropertyChanged(PropertyChangedEventArgs e) {
+      base.OnPropertyChanged(e);
+      if (e.PropertyName == "GrantedUserName" || e.PropertyName == "Permission") {
+        HiveExperimentPermission_PropertyChanged(this, e);
+      }
     }
 
@@ -50,8 +55,8 @@
       this.Permission = original.Permission;
     }
+
     public override IDeepCloneable Clone(Cloner cloner) {
       return new JobPermission(this, cloner);
     }
-    #endregion
 
     private void HiveExperimentPermission_PropertyChanged(object sender, PropertyChangedEventArgs e) {
