Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 2778)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 2779)
@@ -365,4 +365,5 @@
         public void actionPerformed(ActionEvent arg0) {
             setVisible(false);
+            pnlTagConflictResolver.rememberPreferences();
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolver.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolver.java	(revision 2778)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolver.java	(revision 2779)
@@ -30,4 +30,5 @@
     /** selects wheter only tags with conflicts are displayed */
     private JCheckBox cbShowTagsWithConflictsOnly;
+    private JCheckBox cbShowTagsWithMultiValuesOnly;
 
     protected JPanel buildInfoPanel() {
@@ -50,4 +51,5 @@
                     public void stateChanged(ChangeEvent e) {
                         model.setShowTagsWithConflictsOnly(cbShowTagsWithConflictsOnly.isSelected());
+                        cbShowTagsWithMultiValuesOnly.setEnabled(cbShowTagsWithConflictsOnly.isSelected());
                     }
                 }
@@ -56,4 +58,16 @@
                 Main.pref.getBoolean(getClass().getName() + ".showTagsWithConflictsOnly", false)
         );
+        pnl.add(cbShowTagsWithMultiValuesOnly = new JCheckBox(tr("Show tags with multiple values only")), gc);
+        cbShowTagsWithMultiValuesOnly.addChangeListener(
+                new ChangeListener() {
+                    public void stateChanged(ChangeEvent e) {
+                        model.setShowTagsWithMultiValuesOnly(cbShowTagsWithMultiValuesOnly.isSelected());
+                    }
+                }
+        );
+        cbShowTagsWithMultiValuesOnly.setSelected(
+                Main.pref.getBoolean(getClass().getName() + ".showTagsWithMultiValuesOnly", false)
+        );
+        cbShowTagsWithMultiValuesOnly.setEnabled(cbShowTagsWithConflictsOnly.isSelected());
         return pnl;
     }
@@ -65,4 +79,5 @@
     public void rememberPreferences() {
         Main.pref.put(getClass().getName() + ".showTagsWithConflictsOnly", cbShowTagsWithConflictsOnly.isSelected());
+        Main.pref.put(getClass().getName() + ".showTagsWithMultiValuesOnly", cbShowTagsWithMultiValuesOnly.isSelected());
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2778)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java	(revision 2779)
@@ -28,4 +28,5 @@
     private PropertyChangeSupport support;
     private boolean showTagsWithConflictsOnly = false;
+    private boolean showTagsWithMultiValuesOnly = false;
 
     public TagConflictResolverModel() {
@@ -91,4 +92,13 @@
         if (showTagsWithConflictsOnly) {
             keys.retainAll(keysWithConflicts);
+            if (showTagsWithMultiValuesOnly) {
+                Set<String> keysWithMultiValues = new HashSet<String>();
+                for (String key: keys) {
+                    if (decisions.get(key).canKeepAll()) {
+                        keysWithMultiValues.add(key);
+                    }
+                }
+                keys.retainAll(keysWithMultiValues);
+            }
             for (String key: tags.getKeys()) {
                 if (!decisions.get(key).isDecided() && !keys.contains(key)) {
@@ -144,10 +154,10 @@
             MultiValueDecisionType type = (MultiValueDecisionType)value;
             switch(type) {
-                case KEEP_NONE:
-                    decision.keepNone();
-                    break;
-                case KEEP_ALL:
-                    decision.keepAll();
-                    break;
+            case KEEP_NONE:
+                decision.keepNone();
+                break;
+            case KEEP_ALL:
+                decision.keepAll();
+                break;
             }
         }
@@ -193,4 +203,14 @@
     public void setShowTagsWithConflictsOnly(boolean showTagsWithConflictsOnly) {
         this.showTagsWithConflictsOnly = showTagsWithConflictsOnly;
+        rebuild();
+    }
+
+    /**
+     * Sets whether all conflicts or only conflicts with multiple values are displayed
+     *
+     * @param showTagsWithMultiValuesOnly if true, only tags with multiple values are displayed
+     */
+    public void setShowTagsWithMultiValuesOnly(boolean showTagsWithMultiValuesOnly) {
+        this.showTagsWithMultiValuesOnly = showTagsWithMultiValuesOnly;
         rebuild();
     }
