Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/PTAssistantPlugin.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/PTAssistantPlugin.java	(revision 33461)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/PTAssistantPlugin.java	(revision 33462)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.plugins.pt_assistant;
 
+import java.awt.KeyboardFocusManager;
 import java.util.ArrayList;
 import java.util.List;
@@ -9,4 +10,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.validation.OsmValidator;
@@ -25,4 +27,5 @@
 import org.openstreetmap.josm.plugins.pt_assistant.actions.SplitRoundaboutAction;
 import org.openstreetmap.josm.plugins.pt_assistant.data.PTRouteSegment;
+import org.openstreetmap.josm.plugins.pt_assistant.gui.PTAssistantLayerManager;
 import org.openstreetmap.josm.plugins.pt_assistant.gui.PTAssistantPreferenceSetting;
 import org.openstreetmap.josm.plugins.pt_assistant.validation.PTAssistantValidatorTest;
@@ -60,7 +63,8 @@
     public PTAssistantPlugin(PluginInformation info) {
         super(info);
-        Main.info("whatever you want");
         OsmValidator.addTest(PTAssistantValidatorTest.class);
 
+        DataSet.addSelectionListener(PTAssistantLayerManager.PTLM);
+        KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(PTAssistantLayerManager.PTLM);
         RepeatLastFixAction repeatLastFixAction = new RepeatLastFixAction();
         EditHighlightedRelationsAction editHighlightedRelationsAction = new EditHighlightedRelationsAction();
Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java	(revision 33461)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayer.java	(revision 33462)
@@ -4,11 +4,9 @@
 import java.awt.Graphics;
 import java.awt.Graphics2D;
-import java.awt.KeyboardFocusManager;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map.Entry;
 
 import javax.swing.Action;
@@ -25,5 +23,4 @@
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
-import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
@@ -35,5 +32,4 @@
 import org.openstreetmap.josm.plugins.pt_assistant.PTAssistantPlugin;
 import org.openstreetmap.josm.plugins.pt_assistant.data.PTWay;
-import org.openstreetmap.josm.plugins.pt_assistant.utils.RouteUtils;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -45,5 +41,5 @@
  */
 public final class PTAssistantLayer extends Layer
-        implements PropertyChangeListener, LayerChangeListener {
+        implements LayerChangeListener {
 
     private List<OsmPrimitive> primitives = new ArrayList<>();
@@ -54,5 +50,4 @@
     public PTAssistantLayer() {
         super("pt_assistant layer");
-        KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener(this);
         Main.getLayerManager().addLayerChangeListener(this);
         Main.getLayerManager().addLayer(this);
@@ -97,6 +92,7 @@
         }
 
-        for (Character currentFixVariantLetter : this.fixVariants.keySet()) {
-            List<PTWay> fixVariant = this.fixVariants.get(currentFixVariantLetter);
+        for (Entry<Character, List<PTWay>> entry : this.fixVariants.entrySet()) {
+            Character currentFixVariantLetter = entry.getKey();
+            List<PTWay> fixVariant = entry.getValue();
             for (PTWay ptway : fixVariant) {
                 for (Way way : ptway.getWays()) {
@@ -123,10 +119,9 @@
      */
     public List<PTWay> getFixVariant(char c) {
-        return this.fixVariants.get(Character.toUpperCase(c));
-    }
-
-    public void setPrimitives(List<OsmPrimitive> primitives) {
-        this.primitives.clear();
-        this.primitives.addAll(primitives);
+        return fixVariants.get(Character.toUpperCase(c));
+    }
+
+    public void setPrimitives(List<OsmPrimitive> newPrimitives) {
+        primitives = new ArrayList<>(newPrimitives);
     }
 
@@ -140,5 +135,5 @@
         }
 
-        paintVisitor.visitFixVariants(this.fixVariants, this.wayColoring);
+        paintVisitor.visitFixVariants(fixVariants, wayColoring);
 
     }
@@ -188,29 +183,5 @@
     }
 
-    /**
-     * Listens to a focus change, sets the primitives attribute to the route
-     * relation in the top Relation Editor and repaints the map
-     */
-    @Override
-    public void propertyChange(PropertyChangeEvent evt) {
-
-        if ("focusedWindow".equals(evt.getPropertyName())) {
-
-            if (evt.getNewValue() == null) {
-                return;
-            }
-
-            if (evt.getNewValue().getClass().equals(GenericRelationEditor.class)) {
-
-                GenericRelationEditor editor = (GenericRelationEditor) evt.getNewValue();
-                Relation relation = editor.getRelation();
-
-                if (RouteUtils.isVersionTwoPTRoute(relation)) {
-                    this.repaint(relation);
-
-                }
-            }
-        }
-    }
+
 
     /**
@@ -220,6 +191,6 @@
      */
     public void repaint(Relation relation) {
-        this.primitives.clear();
-        this.primitives.add(relation);
+        primitives.clear();
+        primitives.add(relation);
         if (!Main.getLayerManager().containsLayer(this)) {
             Main.getLayerManager().addLayer(this);
@@ -236,5 +207,5 @@
         }
 
-        paintVisitor.visitFixVariants(this.fixVariants, this.wayColoring);
+        paintVisitor.visitFixVariants(fixVariants, wayColoring);
 
         Main.map.mapView.repaint();
@@ -256,7 +227,7 @@
 
         if (event.getRemovedLayer() instanceof OsmDataLayer) {
-            this.primitives.clear();
-            this.fixVariants.clear();
-            this.wayColoring.clear();
+            primitives.clear();
+            fixVariants.clear();
+            wayColoring.clear();
             Main.map.mapView.repaint();
         }
@@ -274,5 +245,4 @@
     @Override
     public synchronized void destroy() {
-        KeyboardFocusManager.getCurrentKeyboardFocusManager().removePropertyChangeListener(this);
         Main.getLayerManager().removeLayerChangeListener(this);
         super.destroy();
Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayerManager.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayerManager.java	(revision 33461)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/gui/PTAssistantLayerManager.java	(revision 33462)
@@ -2,4 +2,6 @@
 package org.openstreetmap.josm.plugins.pt_assistant.gui;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -9,8 +11,10 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor;
 import org.openstreetmap.josm.plugins.pt_assistant.PTAssistantPlugin;
 import org.openstreetmap.josm.plugins.pt_assistant.utils.RouteUtils;
 
-public class PTAssistantLayerManager implements SelectionChangedListener {
+public class PTAssistantLayerManager
+    implements SelectionChangedListener, PropertyChangeListener {
 
     public static final PTAssistantLayerManager PTLM = new PTAssistantLayerManager();
@@ -51,3 +55,23 @@
         }
     }
+
+    /**
+     * Listens to a focus change, sets the primitives attribute to the route
+     * relation in the top Relation Editor and repaints the map
+     */
+    @Override
+    public void propertyChange(PropertyChangeEvent evt) {
+
+        if ("focusedWindow".equals(evt.getPropertyName())
+                && evt.getNewValue() != null
+                && GenericRelationEditor.class.equals(evt.getNewValue().getClass())) {
+
+            GenericRelationEditor editor = (GenericRelationEditor) evt.getNewValue();
+            Relation relation = editor.getRelation();
+
+            if (RouteUtils.isVersionTwoPTRoute(relation)) {
+                getLayer().repaint(relation);
+            }
+        }
+    }
 }
Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssistantValidatorTest.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssistantValidatorTest.java	(revision 33461)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssistantValidatorTest.java	(revision 33462)
@@ -17,5 +17,4 @@
 import org.openstreetmap.josm.command.SelectCommand;
 import org.openstreetmap.josm.command.SequenceCommand;
-import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -64,7 +63,4 @@
         super(tr("Public Transport Assistant tests"),
                 tr("Check if route relations are compatible with public transport version 2"));
-
-        DataSet.addSelectionListener(PTAssistantLayerManager.PTLM);
-
     }
 
