Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDataText.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDataText.java	(revision 15776)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDataText.java	(revision 15777)
@@ -5,10 +5,15 @@
 import static org.openstreetmap.josm.tools.I18n.trn;
 
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.openstreetmap.josm.data.conflict.Conflict;
-import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.ILatLon;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.coor.conversion.AbstractCoordinateFormat;
 import org.openstreetmap.josm.data.coor.conversion.DecimalDegreesCoordinateFormat;
+import org.openstreetmap.josm.data.coor.conversion.ProjectedCoordinateFormat;
 import org.openstreetmap.josm.data.osm.BBox;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -168,7 +173,6 @@
         } else if (o instanceof IWay) {
             addBbox(o);
-            add(tr("Centroid: "),
-                    toStringCSV(", ", ProjectionRegistry.getProjection().eastNorth2latlon(
-                            Geometry.getCentroid(((IWay<?>) o).getNodes()))));
+            add(tr("Centroid: "), toStringCSV(false,
+                    ProjectionRegistry.getProjection().eastNorth2latlon(Geometry.getCentroid(((IWay<?>) o).getNodes()))));
             addWayNodes((IWay<?>) o);
         } else if (o instanceof IRelation) {
@@ -200,13 +204,9 @@
         BBox bbox = o.getBBox();
         if (bbox != null) {
-            add(tr("Bounding box: "), bbox.toStringCSV(", "));
-            EastNorth bottomRigth = bbox.getBottomRight().getEastNorth(ProjectionRegistry.getProjection());
-            EastNorth topLeft = bbox.getTopLeft().getEastNorth(ProjectionRegistry.getProjection());
-            add(tr("Bounding box (projected): "),
-                    Double.toString(topLeft.east()), ", ",
-                    Double.toString(bottomRigth.north()), ", ",
-                    Double.toString(bottomRigth.east()), ", ",
-                    Double.toString(topLeft.north()));
-            add(tr("Center of bounding box: "), toStringCSV(", ", bbox.getCenter()));
+            final LatLon bottomRight = bbox.getBottomRight();
+            final LatLon topLeft = bbox.getTopLeft();
+            add(tr("Bounding box: "), toStringCSV(false, bottomRight, topLeft));
+            add(tr("Bounding box (projected): "), toStringCSV(true, bottomRight, topLeft));
+            add(tr("Center of bounding box: "), toStringCSV(false, bbox.getCenter()));
         }
     }
@@ -214,11 +214,6 @@
     void addCoordinates(INode n) {
         if (n.isLatLonKnown()) {
-            add(tr("Coordinates:"), " ",
-                    Double.toString(n.lat()), ", ",
-                    Double.toString(n.lon()));
-            EastNorth en = n.getEastNorth();
-            add(tr("Coordinates (projected): "),
-                    Double.toString(en.east()), ", ",
-                    Double.toString(en.north()));
+            add(tr("Coordinates:"), " ", toStringCSV(false, n));
+            add(tr("Coordinates (projected): "), toStringCSV(true, n));
             Pair<Integer, Hemisphere> utmZone = TransverseMercator.locateUtmZone(n.getCoor());
             String utmLabel = tr("UTM Zone");
@@ -248,14 +243,16 @@
 
     /**
-     * Returns lat/lon coordinate in human-readable format separated by {@code separator}.
-     * @param separator values separator
-     * @param ll the lat/lon
-     * @return String in the format {@code "1.23456[separator]2.34567"}
+     * Returns the coordinates in human-readable format.
+     * @param projected whether to use projected coordinates
+     * @param coordinates the coordinates to format
+     * @return String in the format {@code "1.23456, 2.34567"}
      */
-    private static String toStringCSV(String separator, ILatLon ll) {
-        return String.join(separator,
-                DecimalDegreesCoordinateFormat.INSTANCE.latToString(ll),
-                DecimalDegreesCoordinateFormat.INSTANCE.lonToString(ll)
-        );
+    private static String toStringCSV(boolean projected, ILatLon... coordinates) {
+        final AbstractCoordinateFormat format = projected
+                ? ProjectedCoordinateFormat.INSTANCE
+                : DecimalDegreesCoordinateFormat.INSTANCE;
+        return Arrays.stream(coordinates)
+                .flatMap(ll -> Stream.of(format.latToString(ll), format.lonToString(ll)))
+                .collect(Collectors.joining(", "));
     }
 
Index: /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialogTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialogTest.java	(revision 15776)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/dialogs/InspectPrimitiveDialogTest.java	(revision 15777)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.User;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -48,9 +49,20 @@
         DataSet ds = new DataSet();
         assertEquals("", InspectPrimitiveDialog.buildDataText(ds, new ArrayList<>(ds.allPrimitives())));
-        Node n = new Node(LatLon.ZERO);
-        n.setOsmId(1, 1);
-        ds.addPrimitive(n);
+        final Way way = new Way();
+        way.addNode(new Node(new LatLon(47.2687921, 11.390525)));
+        way.addNode(new Node(new LatLon(47.2689194, 11.3907301)));
+        way.addNode(new Node(new LatLon(47.2684158, 11.3914047)));
+        way.addNode(new Node(new LatLon(47.2682898, 11.3912034)));
+        way.setOsmId(1, 1);
+        int id = 2;
+        for (Node node : way.getNodes()) {
+            node.setOsmId(id, id);
+            id++;
+        }
+        way.getNodes().forEach(ds::addPrimitive);
+        ds.addPrimitive(way);
+        way.addNode(way.firstNode()); // close way
         assertEquals(
-                "Node: 1\n" +
+            "Way: 1\n" +
                 "  Data Set: "+Integer.toHexString(ds.hashCode())+"\n" +
                 "  Edited at: <new object>\n" +
@@ -58,8 +70,15 @@
                 "  Version: 1\n" +
                 "  In changeset: 0\n" +
-                "  Coordinates: 0.0, 0.0\n" +
-                "  Coordinates (projected): 0.0, -7.081154551613622E-10\n" +
-                "  UTM Zone: 31S\n" +
-                "\n", InspectPrimitiveDialog.buildDataText(ds, new ArrayList<>(ds.allPrimitives())));
+                "  Bounding box: 47.2682898, 11.3914047, 47.2689194, 11.390525\n" +
+                "  Bounding box (projected): 5985976.274977, 1268085.3706241, 5986079.5621105, 1267987.4428681\n" +
+                "  Center of bounding box: 47.2686046, 11.3909648\n" +
+                "  Centroid: 47.2686049, 11.3909649\n" +
+                "  5 Nodes: \n" +
+                "    2\n" +
+                "    3\n" +
+                "    4\n" +
+                "    5\n" +
+                "    2\n" +
+                "\n", InspectPrimitiveDialog.buildDataText(ds, new ArrayList<>(ds.getWays())));
     }
 
