Index: applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/CreatePlatformNodeAction.java
===================================================================
--- applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/CreatePlatformNodeAction.java	(revision 33476)
+++ applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/CreatePlatformNodeAction.java	(revision 33477)
@@ -9,4 +9,7 @@
 import java.util.List;
 import java.util.Map.Entry;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 import org.openstreetmap.josm.Main;
@@ -21,4 +24,5 @@
 import org.openstreetmap.josm.data.osm.TagCollection;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.data.validation.routines.RegexValidator;
 import org.openstreetmap.josm.gui.conflict.tags.CombinePrimitiveResolverDialog;
 import org.openstreetmap.josm.tools.UserCancelException;
@@ -72,13 +76,15 @@
         dummy3 = new Node(platformNode.getEastNorth());
 
+        SortedSet<String> refs = new TreeSet<>();
+
         Main.main.undoRedo.add(new AddCommand(dummy1));
         Main.main.undoRedo.add(new AddCommand(dummy2));
         Main.main.undoRedo.add(new AddCommand(dummy3));
 
-        populateMap(stopPositionNode);
-        populateMap(platformNode);
+        refs.addAll(populateMap(stopPositionNode));
+        refs.addAll(populateMap(platformNode));
 
         if (platformWay != null) {
-            populateMap(platformWay);
+            refs.addAll(populateMap(platformWay));
             platformWay.removeAll();
             platformWay.put("public_transport", "platform");
@@ -93,4 +99,7 @@
         platformNode.put("public_transport", "platform");
         platformNode.put("highway", "bus_stop");
+        if (!refs.isEmpty()) {
+            platformNode.put("route_ref", getRefs(refs));
+        }
 
         List<OsmPrimitive> prims = new ArrayList<>();
@@ -114,5 +123,5 @@
     }
 
-    public void populateMap(OsmPrimitive prim) {
+    public List<String> populateMap(OsmPrimitive prim) {
         List<String> unInterestingTags = new ArrayList<>();
         unInterestingTags.add("public_transport");
@@ -120,16 +129,45 @@
         unInterestingTags.add("source");
 
+        List<String> refs = new ArrayList<>();
         for (Entry<String, String> tag: prim.getKeys().entrySet()) {
-            if (unInterestingTags.contains(tag.getKey())) {
+            if ("note".equals(tag.getKey())
+                    || "lines".equals(tag.getKey())) {
+                refs.addAll(addRefs(tag.getValue()));
                 continue;
             }
-            if (dummy1.get(tag.getKey()) == null) {
-                dummy1.put(tag.getKey(), tag.getValue());
-            } else if (dummy2.get(tag.getKey()) == null) {
-                dummy2.put(tag.getKey(), tag.getValue());
-            } else if (dummy3.get(tag.getKey()) == null) {
-                dummy3.put(tag.getKey(), tag.getValue());
+
+            if (!unInterestingTags.contains(tag.getKey())) {
+                if (dummy1.get(tag.getKey()) == null) {
+                    dummy1.put(tag.getKey(), tag.getValue());
+                } else if (dummy2.get(tag.getKey()) == null) {
+                    dummy2.put(tag.getKey(), tag.getValue());
+                } else if (dummy3.get(tag.getKey()) == null) {
+                    dummy3.put(tag.getKey(), tag.getValue());
+                }
             }
         }
+        return refs;
+    }
+
+    private List<String> addRefs(String value) {
+        List<String> refs = new ArrayList<>();
+        if (new RegexValidator("\\w+([,;].+)*").isValid(value)) {
+            for (String ref : value.split("[,;]")) {
+                refs.add(ref.trim());
+            }
+        }
+        return refs;
+    }
+
+    private String getRefs(Set<String> refs) {
+        StringBuilder sb = new StringBuilder();
+        if (refs.isEmpty())
+            return sb.toString();
+
+        for (String ref : refs) {
+            sb.append(ref).append(';');
+        }
+
+        return sb.toString().substring(0, sb.length() - 1);
     }
 
