Index: trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 14305)
+++ trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 14306)
@@ -113,17 +113,22 @@
 
     /**
-     * Decorates the name of primitive with its id, if the preference
-     * <code>osm-primitives.showid</code> is set. Shows unique id if osm-primitives.showid.new-primitives is set
-     *
-     * @param name  the name without the id
+     * Decorates the name of primitive with its id and version, if the preferences
+     * <code>osm-primitives.showid</code> and <code>osm-primitives.showversion</code> are set.
+     * Shows unique id if <code>osm-primitives.showid.new-primitives</code> is set
+     *
+     * @param name the name without the id
      * @param primitive the primitive
      */
     protected void decorateNameWithId(StringBuilder name, IPrimitive primitive) {
         if (Config.getPref().getBoolean("osm-primitives.showid")) {
-            if (Config.getPref().getBoolean("osm-primitives.showid.new-primitives")) {
-                name.append(tr(" [id: {0}]", primitive.getUniqueId()));
+            long id = Config.getPref().getBoolean("osm-primitives.showid.new-primitives") ?
+                    primitive.getUniqueId() : primitive.getId();
+            if (Config.getPref().getBoolean("osm-primitives.showversion")) {
+                name.append(tr(" [id: {0}, v{1}]", id, primitive.getVersion()));
             } else {
-                name.append(tr(" [id: {0}]", primitive.getId()));
-            }
+                name.append(tr(" [id: {0}]", id));
+            }
+        } else if (Config.getPref().getBoolean("osm-primitives.showversion")) {
+            name.append(tr(" [v{0}]", primitive.getVersion()));
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java	(revision 14305)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java	(revision 14306)
@@ -82,4 +82,5 @@
     private final JCheckBox showSplashScreen = new JCheckBox(tr("Show splash screen at startup"));
     private final JCheckBox showID = new JCheckBox(tr("Show object ID in selection lists"));
+    private final JCheckBox showVersion = new JCheckBox(tr("Show object version in selection lists"));
     private final JCheckBox showCoor = new JCheckBox(tr("Show node coordinates in selection lists"));
     private final JCheckBox showLocalizedName = new JCheckBox(tr("Show localized name in selection lists"));
@@ -133,4 +134,8 @@
         showID.setSelected(Config.getPref().getBoolean("osm-primitives.showid", false));
 
+        // Show version in selection
+        showVersion.setToolTipText(tr("Show object version in selection lists"));
+        showVersion.setSelected(Config.getPref().getBoolean("osm-primitives.showversion", false));
+
         // Show Coordinates in selection
         showCoor.setToolTipText(tr("Show node coordinates in selection lists"));
@@ -147,4 +152,5 @@
 
         panel.add(showID, GBC.eop().insets(20, 0, 0, 0));
+        panel.add(showVersion, GBC.eop().insets(20, 0, 0, 0));
         panel.add(showCoor, GBC.eop().insets(20, 0, 0, 0));
         panel.add(showLocalizedName, GBC.eop().insets(20, 0, 0, 0));
@@ -211,4 +217,5 @@
         Config.getPref().putBoolean("draw.splashscreen", showSplashScreen.isSelected());
         Config.getPref().putBoolean("osm-primitives.showid", showID.isSelected());
+        Config.getPref().putBoolean("osm-primitives.showversion", showVersion.isSelected());
         Config.getPref().putBoolean("osm-primitives.showcoor", showCoor.isSelected());
         Config.getPref().putBoolean("osm-primitives.localize-name", showLocalizedName.isSelected());
