diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java
index dd34415c983edc19f91dabb096b82e9e542de8ff..9d02006a156b6c1e447437f31c4e25af98aab67e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/amc/AddPropertyTypeDialog.java
@@ -894,31 +894,41 @@ public class AddPropertyTypeDialog extends AbstractRegistrationDialog
         if (propertyType != null && entityType != null && propertyType.getDataType() != null)
         {
             final List<EntityTypePropertyType<?>> etpts = new ArrayList<EntityTypePropertyType<?>>(entityType.getAssignedPropertyTypes());
-            sectionSelectionWidget = SectionSelectionWidget.create(viewContext, etpts);
-            this.addField(sectionSelectionWidget);
-            etptSelectionWidget = createETPTSelectionWidget(etpts);
-            this.addField(etptSelectionWidget);
+            this.addField(getSectionSelectionWidget(etpts));
+            this.addField(getETPTSelectionWidget(etpts));
         }
 
         fixLayout();
     }
 
+    private EntityTypePropertyTypeSelectionWidget getETPTSelectionWidget(final List<EntityTypePropertyType<?>> etpts)
+    {
+        if (etptSelectionWidget == null)
+        {
+            etptSelectionWidget = createETPTSelectionWidget(etpts);
+        }
+        return etptSelectionWidget;
+    }
+
+    private SectionSelectionWidget getSectionSelectionWidget(final List<EntityTypePropertyType<?>> etpts)
+    {
+        if (sectionSelectionWidget == null)
+        {
+            sectionSelectionWidget = SectionSelectionWidget.create(viewContext, etpts);
+        }
+        return sectionSelectionWidget;
+    }
+
     private void hideEntityTypePropertyTypeRelatedFields()
     {
-        if (sectionSelectionWidget != null
-                && this.getFormPanel().getFields().contains(sectionSelectionWidget))
+        if (sectionSelectionWidget != null && this.getFormPanel().getFields().contains(sectionSelectionWidget))
         {
-            sectionSelectionWidget.hide();
             this.removeField(sectionSelectionWidget);
-            sectionSelectionWidget = null;
         }
 
-        if (etptSelectionWidget != null
-                && this.getFormPanel().getFields().contains(etptSelectionWidget))
+        if (etptSelectionWidget != null && this.getFormPanel().getFields().contains(etptSelectionWidget))
         {
-            etptSelectionWidget.hide();
             this.removeField(etptSelectionWidget);
-            etptSelectionWidget = null;
         }
     }