Index: src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java
===================================================================
--- src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java	(revision 34908)
+++ src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java	(working copy)
@@ -43,6 +43,7 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.util.GuiHelper;
@@ -161,8 +162,9 @@
                             (handler != null && handler.preferMultipolygonToSimpleWay()))) {
                         r = createMultipolygon();
                     }
+                    Way w = createOrGetWay(p.getExteriorRing());
                     if (r != null) {
-                        addWayToMp(r, "outer", createOrGetWay(p.getExteriorRing()));
+                        addWayToMp(r, "outer", w);
                         for (int j = 0; j < p.getNumInteriorRing(); j++) {
                             addWayToMp(r, "inner", createOrGetWay(p.getInteriorRingN(j)));
                         }
Index: test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java
===================================================================
--- test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(revision 34908)
+++ test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(working copy)
@@ -89,11 +89,12 @@
     }
 
     /**
-     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/12843">#12843</a>
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/13843">#13843</a>
      * @throws Exception if an error occurs during reading
      */
     @Test
-    public void testTicket12843() throws Exception {
+    public void testTicket13843() throws Exception {
+        // TODO: The test/data/regress/12843 directory needs to be renamed (svn mv) to 13843.
         File file = new File(TestUtils.getRegressionDataFile(12843, "test.shp"));
         try (InputStream is = new FileInputStream(file)) {
             Collection<Way> ways = ShpReader.parseDataSet(is, file, null, null).getWays();
