Index: trunk/src/org/openstreetmap/josm/actions/FollowLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/FollowLineAction.java	(revision 12181)
+++ trunk/src/org/openstreetmap/josm/actions/FollowLineAction.java	(revision 12182)
@@ -121,5 +121,5 @@
             // "viewport following" mode for tracing long features
             // from aerial imagery or GPS tracks.
-            if (Main.map.mapView.viewportFollowing) {
+            if (DrawAction.VIEWPORT_FOLLOWING.get()) {
                 Main.map.mapView.smoothScrollTo(newPoint.getEastNorth());
             }
Index: trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java	(revision 12181)
+++ trunk/src/org/openstreetmap/josm/actions/ViewportFollowToggleAction.java	(revision 12182)
@@ -9,4 +9,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.mapmode.DrawAction;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -36,5 +37,5 @@
     public void actionPerformed(ActionEvent e) {
         toggleSelectedState(e);
-        Main.map.mapView.viewportFollowing = isSelected();
+        DrawAction.VIEWPORT_FOLLOWING.put(isSelected());
         notifySelectedState();
     }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12181)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12182)
@@ -74,4 +74,10 @@
 public class DrawAction extends MapMode implements MapViewPaintable, SelectionChangedListener, KeyPressReleaseListener, ModifierListener {
 
+    /**
+     * If this property is set, the draw action moves the viewport when adding new points.
+     * @since 12182
+     */
+    public static final CachingProperty<Boolean> VIEWPORT_FOLLOWING = new BooleanProperty("draw.viewport.following", false).cached();
+
     private static final Color ORANGE_TRANSPARENT = new Color(Color.ORANGE.getRed(), Color.ORANGE.getGreen(), Color.ORANGE.getBlue(), 128);
 
@@ -614,5 +620,5 @@
         // "viewport following" mode for tracing long features
         // from aerial imagery or GPS tracks.
-        if (Main.map.mapView.viewportFollowing) {
+        if (VIEWPORT_FOLLOWING.get()) {
             Main.map.mapView.smoothScrollTo(n.getEastNorth());
         }
Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 12181)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 12182)
@@ -36,4 +36,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.mapmode.DrawAction;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.data.Bounds;
@@ -184,4 +185,9 @@
     }
 
+    /**
+     * Replaced by the {@link DrawAction#VIEWPORT_FOLLOWING} property
+     * @deprecated since 12180. Can be remove soon (does any plugin even use this?)
+     */
+    @Deprecated
     public boolean viewportFollowing;
 
