diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
index 3f5ed5e56dfcfb12081b049488117048a183b3b6..059c0352bdd0abdf57326b03e412ec5ed95295b5 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
@@ -589,7 +589,12 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
             }
         }
         userInfoFacade.edit(user);       
-        clear();
+
+        experimentUsersListTable.resetList();
+        experimentUsersEditTable.resetList();
+        experimentUsers.clear();
+        noExperimentUsersTypeTable.resetList();
+
         return "edit?faces-redirect=true";
     }
     
@@ -602,8 +607,12 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
         experimentPropertiesMap.remove(experimentPropertyToDelete.getId());
         experimentPolicy.getExperimentPolicyPropertyValueList().remove(experimentPropertyToDelete);
         experimentPolicyFacade.edit(experimentPolicy);
-        clear();
-        return "edit?faces-redirect=true";        
+        current = experimentFacade.find(current.getId());
+        experimentPolicyListTable.resetList();
+        missingPolicyTypes.clear();
+        experimentPolicyEditTable.resetList();
+        noPolicyValueTable.resetList();
+        return "edit?faces-redirect=true";
     }
 
     public String addExperimentUser() {
@@ -622,7 +631,10 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
                     user.getUserExperimentRoleList().add(userExperimentRole);
                     userInfoFacade.edit(user);
                 }
-                clear();
+                experimentUsersListTable.resetList();
+                experimentUsersEditTable.resetList();
+                experimentUsers.clear();
+                noExperimentUsersTypeTable.resetList();
                 return "edit?faces-redirect=true";
             } catch (RuntimeException ex) {
                 SessionUtility.addErrorMessage("Error", "Could not update UserInfo" + ": " + ex.getMessage());
@@ -630,7 +642,7 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
             }
         }
     }
- 
+
     public String addExperimentPolicyPropertyValues() {
         List<PolicyPropertyValue> newProperties = noPolicyValueTable.getSelectedObjectList();
         if (newProperties == null) {
@@ -652,10 +664,14 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
                     ExperimentPolicy experimentPolicy = getOrCreateExperimentPolicy(policyProperty.getPolicyType());
                     experimentPolicyPropertyValue.setExperimentPolicy(experimentPolicy);
                     experimentPolicy.getExperimentPolicyPropertyValueList().add(experimentPolicyPropertyValue);
-                } 
+                }
                 super.update();
                 current = experimentFacade.find(current.getId());
-                clear();
+                experimentPolicyListTable.resetList();
+                missingPolicyTypes.clear();
+                experimentPolicyEditTable.resetList();
+                noPolicyValueTable.resetList();
+
                 return "edit?faces-redirect=true";
             } catch (RuntimeException ex) {
                 SessionUtility.addErrorMessage("Error", "Could not update Experiment Policy" + ": " + ex.getMessage());