Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 18782)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 18783)
@@ -322,5 +322,11 @@
     private synchronized boolean isConflictSelected() {
         final ListSelectionModel selModel = lstConflicts.getSelectionModel();
-        return selModel.getMinSelectionIndex() >= 0 && selModel.getMaxSelectionIndex() >= selModel.getMinSelectionIndex();
+        final int minSelectionIndex = selModel.getMinSelectionIndex();
+        final int maxSelectionIndex = selModel.getMaxSelectionIndex();
+        final int maxIndex = conflicts.size();
+        // if minSelectionIndex < 0, nothing is selected
+        // if minSelectionIndex > maxIndex, then nothing is selected (we are operating with an old selection context, most likely)
+        // if maxSelectionIndex < minSelectionIndex, _something_ funny is going on. Or there was a typo in the original code.
+        return minSelectionIndex >= 0 && maxIndex > minSelectionIndex && maxSelectionIndex >= minSelectionIndex;
     }
 
@@ -369,4 +375,6 @@
             btnResolveMy.setVisible(ExpertToggleAction.isExpert());
             btnResolveTheir.setVisible(ExpertToggleAction.isExpert());
+            ((ResolveAction) btnResolveMy.getAction()).valueChanged(null);
+            ((ResolveAction) btnResolveTheir.getAction()).valueChanged(null);
         }
 
@@ -529,5 +537,5 @@
                 }
             }
-            UndoRedoHandler.getInstance().add(new SequenceCommand(name, commands));
+                UndoRedoHandler.getInstance().add(new SequenceCommand(name, commands));
             refreshView();
         }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/ConflictDialogTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/ConflictDialogTest.java	(revision 18782)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/ConflictDialogTest.java	(revision 18783)
@@ -2,11 +2,10 @@
 package org.openstreetmap.josm.gui.dialogs;
 
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.awt.Color;
 import java.awt.image.BufferedImage;
 
-import org.junit.jupiter.api.extension.RegisterExtension;
 import org.junit.jupiter.api.Test;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -19,20 +18,13 @@
 import org.openstreetmap.josm.gui.dialogs.ConflictDialog.ConflictPainter;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.testutils.JOSMTestRules;
-
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import org.openstreetmap.josm.testutils.annotations.Main;
+import org.openstreetmap.josm.testutils.annotations.Projection;
 
 /**
  * Unit tests of {@link ConflictDialog} class.
  */
+@Main
+@Projection
 class ConflictDialogTest {
-
-    /**
-     * Setup tests
-     */
-    @RegisterExtension
-    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
-    public JOSMTestRules test = new JOSMTestRules().main().projection();
-
     /**
      * Unit test of {@link ConflictDialog#ConflictDialog}.
@@ -40,5 +32,5 @@
     @Test
     void testConflictDialog() {
-        assertNotNull(new ConflictDialog());
+        assertDoesNotThrow(ConflictDialog::new);
     }
 
