Index: applications/editors/josm/plugins/opendata/test/data/regress/15159/Sanisette.tab
===================================================================
--- applications/editors/josm/plugins/opendata/test/data/regress/15159/Sanisette.tab	(revision 33613)
+++ applications/editors/josm/plugins/opendata/test/data/regress/15159/Sanisette.tab	(revision 33613)
@@ -0,0 +1,17 @@
+!table
+!version 300
+!charset WindowsLatin1
+
+Definition Table
+  Type NATIVE Charset "WindowsLatin1"
+  Fields 10
+    numero Char (50) ;
+    type Char (50) ;
+    PMR Logical ;
+    adresse Char (50) ;
+    emplacement_valide Char (5) ;
+    INSEE Char (5) ;
+    X_CC43 Decimal (11, 3) ;
+    Y_CC43 Decimal (11, 3) ;
+    X_WGS84 Decimal (6, 3) ;
+    Y_WGS84 Decimal (6, 3) ;
Index: applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReaderTest.java
===================================================================
--- applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReaderTest.java	(revision 33613)
+++ applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReaderTest.java	(revision 33613)
@@ -0,0 +1,40 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLStreamException;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.plugins.opendata.core.io.NonRegFunctionalTests;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+/**
+ * Unit tests of {@link TabReader} class.
+ */
+public class TabReaderTest {
+
+    /**
+     * Setup test.
+     */
+    @Rule
+    public JOSMTestRules rules = new JOSMTestRules().preferences().projection().timeout(60000);
+
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/15159">#15159</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket15159() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(15159, "Sanisette.tab"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testGeneric("#15159", TabReader.parseDataSet(is, file, null, null));
+        }
+    }
+}
