Index: src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(revision 17264)
+++ src/org/openstreetmap/josm/gui/conflict/tags/CombinePrimitiveResolverDialog.java	(working copy)
@@ -343,7 +343,7 @@
         }
 
         getContentPane().add(pnlButtons, BorderLayout.SOUTH);
-        validate();
+        getContentPane().validate();
         adjustDividerLocation();
         pnlRelationMemberConflictResolver.prepareForEditing();
     }
@@ -444,10 +444,13 @@
     private void adjustDividerLocation() {
         int numTagDecisions = modelTagConflictResolver.getNumDecisions();
         int numRelationDecisions = modelRelConflictResolver.getNumDecisions();
-        if (numTagDecisions > 0 && numRelationDecisions > 0) {
-            double nTop = 1.0 + numTagDecisions;
-            double nBottom = 2.5 + numRelationDecisions;
-            spTagConflictTypes.setDividerLocation(nTop/(nTop+nBottom));
+        if (numTagDecisions > 0 && numRelationDecisions > 0 && getHeight() > 0) {
+            double h0 = getHeight();
+            double hRest = h0 - (pnlRelationMemberConflictResolver.getHeight() + pnlTagConflictResolver.getHeight());
+
+            double nTop = 3.5 + numTagDecisions;
+            double nBottom = 5.5 + numRelationDecisions;
+            spTagConflictTypes.setDividerLocation(nTop/(nTop+nBottom) - hRest / h0);
         }
     }
 
