Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 4525)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 4526)
@@ -188,4 +188,6 @@
     private SearchAction searchActionAny = new SearchAction(false);
     private AddAction addAction = new AddAction();
+    private EditAction editAction = new EditAction();
+    private DeleteAction deleteAction = new DeleteAction();
 
     @Override
@@ -202,4 +204,7 @@
         SelectionEventManager.getInstance().removeSelectionListener(this);
         MapView.removeEditLayerChangeListener(this);
+        Main.unregisterActionShortcut(addAction);
+        Main.unregisterActionShortcut(editAction);
+        Main.unregisterActionShortcut(deleteAction);
     }
 
@@ -795,5 +800,4 @@
         // -- edit action
         //
-        EditAction editAction = new EditAction();
         propertyTable.getSelectionModel().addListSelectionListener(editAction);
         membershipTable.getSelectionModel().addListSelectionListener(editAction);
@@ -802,5 +806,4 @@
         // -- delete action
         //
-        DeleteAction deleteAction = new DeleteAction();
         this.btnDel = new SideButton(deleteAction);
         membershipTable.getSelectionModel().addListSelectionListener(deleteAction);
@@ -1091,6 +1094,6 @@
         protected void updateEnabledState() {
             setEnabled(
-                    PropertiesDialog.this.propertyTable.getSelectedRowCount() >0
-                    || PropertiesDialog.this.membershipTable.getSelectedRowCount() > 0
+                    (propertyTable != null && propertyTable.getSelectedRowCount() == 1)
+                    ^ (membershipTable != null && membershipTable.getSelectedRowCount() == 1)
             );
         }
@@ -1139,6 +1142,6 @@
         protected void updateEnabledState() {
             setEnabled(
-                    propertyTable.getSelectedRowCount() == 1
-                    ^ membershipTable.getSelectedRowCount() == 1
+                    (propertyTable != null && propertyTable.getSelectedRowCount() == 1)
+                    ^ (membershipTable != null && membershipTable.getSelectedRowCount() == 1)
             );
         }
