Index: /trunk/data/defaultpresets.xml
===================================================================
--- /trunk/data/defaultpresets.xml	(revision 3580)
+++ /trunk/data/defaultpresets.xml	(revision 3581)
@@ -448,5 +448,5 @@
             <label text="Edit Bridge" />
             <space />
-            <key key="bridge" value="yes" />
+            <combo key="bridge" values="yes,viaduct,swing,aqueduct" required="true" default="yes" text="Bridge" />
             <optional>
                 <text key="name" text="Name" default="" delete_if_empty="true" />
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java	(revision 3580)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PresetListPanel.java	(revision 3581)
@@ -120,6 +120,10 @@
                             key = ((Check)i).key;
                         }
-                        if (key != null && valueCount.get(key) == null) {
-                            found -= 100;
+                        if (key != null) {
+                            if (valueCount.get(key) != null) {
+                                found += 1;
+                            } else {
+                                found -= 100;
+                            }
                         }
                     }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSearchDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSearchDialog.java	(revision 3580)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSearchDialog.java	(revision 3581)
@@ -176,4 +176,9 @@
                 return result;
         }
+
+        @Override
+        public String toString() {
+            return classification + " " + preset.toString();
+        }
     }
 
