Index: trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java	(revision 12411)
+++ trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java	(revision 12412)
@@ -287,5 +287,5 @@
         }
 
-        return applyCorrections(tagCorrectionsMap, roleCorrectionMap,
+        return applyCorrections(oldway.getDataSet(), tagCorrectionsMap, roleCorrectionMap,
                 tr("When reversing this way, the following changes are suggested in order to maintain data consistency."));
     }
Index: trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 12411)
+++ trunk/src/org/openstreetmap/josm/corrector/TagCorrector.java	(revision 12412)
@@ -26,4 +26,5 @@
 import org.openstreetmap.josm.data.correction.RoleCorrection;
 import org.openstreetmap.josm.data.correction.TagCorrection;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -56,5 +57,15 @@
     };
 
+    /**
+     * Creates the commands to correct the tags. Asks the users about it.
+     * @param dataSet The data set the primitives will be in once the commands are executed
+     * @param tagCorrectionsMap The possible tag corrections
+     * @param roleCorrectionMap The possible role corrections
+     * @param description A description to add to the dialog.
+     * @return A list of commands
+     * @throws UserCancelException If the user canceled
+     */
     protected Collection<Command> applyCorrections(
+            DataSet dataSet,
             Map<OsmPrimitive, List<TagCorrection>> tagCorrectionsMap,
             Map<OsmPrimitive, List<RoleCorrection>> roleCorrectionMap,
@@ -175,5 +186,5 @@
                     // save the clone
                     if (!keysChanged.isEmpty()) {
-                        commands.add(new ChangeCommand(primitive.getDataSet(), primitive, clone));
+                        commands.add(new ChangeCommand(dataSet, primitive, clone));
                     }
                 }
@@ -185,5 +196,5 @@
                         RoleCorrection roleCorrection = roleCorrections.get(i);
                         if (roleTableMap.get(primitive).getCorrectionTableModel().getApply(i)) {
-                            commands.add(new ChangeRelationMemberRoleCommand(roleCorrection.relation.getDataSet(),
+                            commands.add(new ChangeRelationMemberRoleCommand(dataSet,
                                     roleCorrection.relation, roleCorrection.position, roleCorrection.newRole));
                         }
