Index: trunk/test/unit/org/openstreetmap/josm/io/nmea/NmeaReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/nmea/NmeaReaderTest.java	(revision 14081)
+++ trunk/test/unit/org/openstreetmap/josm/io/nmea/NmeaReaderTest.java	(revision 14083)
@@ -160,8 +160,20 @@
     }
 
-    private static Date readDate(String nmeaLine) throws IOException, SAXException {
+    private static GpxData read(String nmeaLine) throws IOException, SAXException {
         NmeaReader in = new NmeaReader(new ByteArrayInputStream(nmeaLine.getBytes(StandardCharsets.UTF_8)));
         in.parse(true);
-        return in.data.tracks.iterator().next().getSegments().iterator().next().getWayPoints().iterator().next().getTime();
+        return in.data;
+    }
+
+    private static WayPoint readWayPoint(String nmeaLine) throws IOException, SAXException {
+        return read(nmeaLine).tracks.iterator().next().getSegments().iterator().next().getWayPoints().iterator().next();
+    }
+
+    private static Date readDate(String nmeaLine) throws IOException, SAXException {
+        return readWayPoint(nmeaLine).getTime();
+    }
+
+    private static double readSpeed(String nmeaLine) throws IOException, SAXException {
+        return Double.parseDouble(readWayPoint(nmeaLine).getString("speed"));
     }
 
@@ -179,3 +191,16 @@
                 readDate("$GNRMC,162859.4,A,4543.03388,N,00058.19870,W,45.252,209.07,300518,,,D,V*13")));
     }
+
+    /**
+     * Non-regression test for <a href="https://josm.openstreetmap.de/ticket/16554">Bug #16554</a>.
+     * @throws Exception if an error occurs
+     */
+    @Test
+    public void testTicket16554() throws Exception {
+        assertEquals(63.2420959, readSpeed(
+                  "$GNRMC,141448.80,A,4659.05514,N,00130.44695,W,34.148,289.80,300718,,,D,V*26"), 1e-7);
+        assertEquals(63.2430000, readSpeed(
+                  "$GNRMC,141448.80,A,4659.05514,N,00130.44695,W,34.148,289.80,300718,,,D,V*26"
+                + "$GNVTG,289.80,T,,M,34.148,N,63.243,K,D*27"), 1e-7);
+    }
 }
