Index: trunk/test/unit/org/openstreetmap/josm/io/OsmReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmReaderTest.java	(revision 12078)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmReaderTest.java	(revision 12087)
@@ -5,4 +5,5 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.InputStream;
@@ -31,3 +32,19 @@
         }
     }
+
+    /**
+     * Non-regression test for <a href="https://josm.openstreetmap.de/ticket/14754">Bug #14754</a>.
+     * @throws Exception if any error occurs
+     */
+    @Test
+    public void testTicket14754() throws Exception {
+        try (InputStream in = TestUtils.getRegressionDataStream(14754, "malformed_for_14754.osm")) {
+            OsmReader.parseDataSet(in, NullProgressMonitor.INSTANCE);
+            fail("should throw exception");
+        } catch (IllegalDataException e) {
+            assertEquals("Illegal value for attributes 'lat', 'lon' on node with ID 1425146006." +
+                    " Got '550.3311950157', '10.49428298298'." +
+                    " (at line 5, column 179). 578 bytes have been read", e.getMessage());
+        }
+    }
 }
