Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 4696)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 4697)
@@ -128,12 +128,12 @@
 public class PropertiesDialog extends ToggleDialog implements SelectionChangedListener, MapView.EditLayerChangeListener, DataSetListenerAdapter.Listener {
     /**
-     * Watches for double clicks and from editing or new property, depending on the
-     * location, the click was.
+     * Watches for mouse clicks
      * @author imi
      */
-    public class DblClickWatch extends MouseAdapter {
+    public class MouseClickWatch extends MouseAdapter {
         @Override public void mouseClicked(MouseEvent e) {
             if (e.getClickCount() < 2)
             {
+                // single click, clear selection in other table not clicked in
                 if (e.getSource() == propertyTable) {
                     membershipTable.clearSelection();
@@ -142,4 +142,5 @@
                 }
             }
+            // double click, edit or add property
             else if (e.getSource() == propertyTable)
             {
@@ -647,5 +648,5 @@
 
         propertyData.setColumnIdentifiers(new String[]{tr("Key"),tr("Value")});
-        propertyTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        propertyTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         propertyTable.getTableHeader().setReorderingAllowed(false);
         propertyTable.addMouseListener(new PopupMenuLauncher() {
@@ -833,8 +834,8 @@
         }));
 
-        DblClickWatch dblClickWatch = new DblClickWatch();
-        propertyTable.addMouseListener(dblClickWatch);
-        membershipTable.addMouseListener(dblClickWatch);
-        scrollPane.addMouseListener(dblClickWatch);
+        MouseClickWatch mouseClickWatch = new MouseClickWatch();
+        propertyTable.addMouseListener(mouseClickWatch);
+        membershipTable.addMouseListener(mouseClickWatch);
+        scrollPane.addMouseListener(mouseClickWatch);
 
         selectSth.setPreferredSize(scrollPane.getSize());
@@ -1097,7 +1098,9 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            if (propertyTable.getSelectedRowCount() >0 ) {
-                int row = propertyTable.getSelectedRow();
-                deleteProperty(row);
+            if (propertyTable.getSelectedRowCount() > 0) {
+                int[] rows = propertyTable.getSelectedRows();
+                for (int i = rows.length - 1; i >= 0; i--) {
+                    deleteProperty(rows[i]);
+                }
             } else if (membershipTable.getSelectedRowCount() > 0) {
                 int row = membershipTable.getSelectedRow();
@@ -1109,6 +1112,6 @@
         protected void updateEnabledState() {
             setEnabled(
-                    (propertyTable != null && propertyTable.getSelectedRowCount() == 1)
-                    ^ (membershipTable != null && membershipTable.getSelectedRowCount() == 1)
+                    (propertyTable != null && propertyTable.getSelectedRowCount() >= 1)
+                    || (membershipTable != null && membershipTable.getSelectedRowCount() == 1)
                     );
         }
