Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 19437)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 19438)
@@ -161,4 +161,8 @@
      */
     private final ArrayList<FlavorListener> clipboardListeners = new ArrayList<>();
+    /**
+     * Flag that signals that this instance of the relation editor is currently saving the relation
+     */
+    private boolean isSaving;
 
     /**
@@ -1071,5 +1075,5 @@
                 if (!isDirtyEditor()) {
                     reloadDataFromRelation();
-                } else {
+                } else if (!isSaving) {
                     new Notification(tr("Relation modified outside of relation editor with pending changes. Conflict resolution required."))
                     .setIcon(JOptionPane.WARNING_MESSAGE).show();
@@ -1086,3 +1090,8 @@
                 tagEditorPanel.getModel().isDirty() || relation == null || relation.getDataSet() == null;
     }
+
+    @Override
+    public void setIsSaving(boolean b) {
+        isSaving = b;
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/IRelationEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/IRelationEditor.java	(revision 19437)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/IRelationEditor.java	(revision 19438)
@@ -67,4 +67,11 @@
 
     /**
+     * Set the isSaving flag to the given value. See #24444
+     * @param b the flag value
+     * @since 19438
+     */
+    void setIsSaving(boolean b);
+
+    /**
      * Reloads data from relation.
      */
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 19437)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationEditor.java	(revision 19438)
@@ -116,4 +116,5 @@
     @Override
     public final void setRelation(Relation relation) {
+        setIsSaving(false); // see #24444
         setRelationSnapshot((relation == null) ? null : new Relation(relation));
         Relation oldValue = this.relation;
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java	(revision 19437)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java	(revision 19438)
@@ -172,4 +172,5 @@
                         return false;
                     }
+                    getEditor().setIsSaving(true); // see #24444
                     applyExistingConflictingRelation(getTagModel());
                     hideEditor();
@@ -178,4 +179,5 @@
                     return false;
             } else {
+                getEditor().setIsSaving(true); // see #24444
                 applyExistingNonConflictingRelation(getTagModel());
             }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java	(revision 19437)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditorTest.java	(revision 19438)
@@ -122,4 +122,9 @@
             public OsmDataLayer getLayer() {
                 return layer;
+            }
+
+            @Override
+            public void setIsSaving(boolean b) {
+                // do nothing
             }
         };
