Index: src/relcontext/relationfix/BoundaryFixer.java
===================================================================
--- src/relcontext/relationfix/BoundaryFixer.java	(revision 36279)
+++ src/relcontext/relationfix/BoundaryFixer.java	(working copy)
@@ -63,17 +63,16 @@
             members = rel.getMembers();
         }
         members = fixBoundaryRoles(members);
-        if (!members.equals(rel.getMembers())) {
-            final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
-            return new ChangeMembersCommand(ds, rel, members);
-        }
-        return null;
+        if (members.isEmpty() || members.equals(rel.getMembers())) 
+            return null;
+        final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
+        return new ChangeMembersCommand(ds, rel, members);
     }
 
     /**
      * Possibly change roles of non-way members.
      * @param origMembers original list of relation members
-     * @return either the original and unmodified list or a new one with at least one new item
+     * @return either the original and unmodified list or a new one with at least one new item or empty list if not a valid boundary
      */
     private static List<RelationMember> fixBoundaryRoles(List<RelationMember> origMembers) {
         List<RelationMember> members = origMembers;
Index: src/relcontext/relationfix/MultipolygonFixer.java
===================================================================
--- src/relcontext/relationfix/MultipolygonFixer.java	(revision 36279)
+++ src/relcontext/relationfix/MultipolygonFixer.java	(working copy)
@@ -49,11 +49,10 @@
     @Override
     public Command fixRelation(Relation rel) {
         List<RelationMember> members = fixMultipolygonRoles(rel.getMembers());
-        if (!members.equals(rel.getMembers())) {
-            final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
-            return new ChangeMembersCommand(ds, rel, members);
-        }
-        return null;
+        if (members.isEmpty() || members.equals(rel.getMembers())) 
+            return null;
+        final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
+        return new ChangeMembersCommand(ds, rel, members);
     }
 
     /**
Index: src/relcontext/relationfix/PublicTransportFixer.java
===================================================================
--- src/relcontext/relationfix/PublicTransportFixer.java	(revision 36279)
+++ src/relcontext/relationfix/PublicTransportFixer.java	(working copy)
@@ -4,6 +4,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.openstreetmap.josm.command.ChangeMembersCommand;
@@ -50,11 +51,10 @@
     @Override
     public Command fixRelation(Relation rel) {
         List<RelationMember> members = fixStopPlatformRole(rel.getMembers());
-        if (!members.equals(rel.getMembers())) {
-            final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
-            return new ChangeMembersCommand(ds, rel, rel.getMembers());
-        }
-        return null;
+        if (members.isEmpty() || members.equals(rel.getMembers())) 
+            return null;
+        final DataSet ds = Utils.firstNonNull(rel.getDataSet(), MainApplication.getLayerManager().getEditDataSet());
+        return new ChangeMembersCommand(ds, rel, rel.getMembers());
     }
 
     /**
@@ -64,6 +64,7 @@
      */
     private static List<RelationMember> fixStopPlatformRole(List<RelationMember> origMembers) {
         List<RelationMember> members = origMembers;
+        boolean fixed = false;
         for (int i = 0; i < members.size(); i++) {
             RelationMember m = members.get(i);
             String role = PublicTransportHelper.getRoleByMember(m);
@@ -73,8 +74,9 @@
                     members = new ArrayList<>(origMembers);
                 }
                 members.set(i, new RelationMember(role, m.getMember()));
+                fixed = true;
             }
         }
-        return members;
+        return fixed ? members : Collections.emptyList();
     }
 }
