Index: applications/editors/josm/plugins/poly/build.xml
===================================================================
--- applications/editors/josm/plugins/poly/build.xml	(revision 28570)
+++ applications/editors/josm/plugins/poly/build.xml	(revision 28571)
@@ -99,5 +99,5 @@
                 <attribute name="Plugin-Class" value="poly.PolyPlugin"/>
                 <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
-                <attribute name="Plugin-Description" value="Read and write osmosis' poly files"/>
+                <attribute name="Plugin-Description" value="Read and write osmosis' poly filter files"/>
                 <attribute name="Plugin-Early" value="false"/>
                 <!--<attribute name="Plugin-Icon" value="images/pbf_24.png"/>-->
Index: applications/editors/josm/plugins/poly/src/poly/PolyImporter.java
===================================================================
--- applications/editors/josm/plugins/poly/src/poly/PolyImporter.java	(revision 28570)
+++ applications/editors/josm/plugins/poly/src/poly/PolyImporter.java	(revision 28571)
@@ -94,31 +94,31 @@
                     parsingSection = false;
                 }
-            }
-
-            if( !parsingSection ) {
-                area = new Area(line);
-                parsingSection = true;
             } else {
-                // reading area, parse coordinates
-                String[] tokens = line.split("\\s+");
-                double[] coords = new double[2];
-                int tokenCount = 0;
-                for( String token : tokens ) {
-                    if( token.length() > 0 ) {
-                        if( tokenCount > 2 )
-                            throw new IllegalDataException(tr("A polygon coordinate line must contain exactly 2 numbers"));
-                        try {
-                            coords[tokenCount++] = Double.parseDouble(token);
-                        } catch( NumberFormatException e ) {
-                            throw new IllegalDataException(tr("Unable to parse {0} as a number", token));
+                if( !parsingSection ) {
+                    area = new Area(line);
+                    parsingSection = true;
+                } else {
+                    // reading area, parse coordinates
+                    String[] tokens = line.split("\\s+");
+                    double[] coords = new double[2];
+                    int tokenCount = 0;
+                    for( String token : tokens ) {
+                        if( token.length() > 0 ) {
+                            if( tokenCount > 2 )
+                                throw new IllegalDataException(tr("A polygon coordinate line must contain exactly 2 numbers"));
+                            try {
+                                coords[tokenCount++] = Double.parseDouble(token);
+                            } catch( NumberFormatException e ) {
+                                throw new IllegalDataException(tr("Unable to parse {0} as a number", token));
+                            }
                         }
                     }
+                    if( tokenCount < 2 )
+                        throw new IllegalDataException(tr("A polygon coordinate line must contain exactly 2 numbers"));
+                    LatLon coord = new LatLon(coords[1], coords[0]);
+                    if( !coord.isValid() )
+                        throw new IllegalDataException(tr("Invalid coordinates were found: {0}, {1}", coord.lat(), coord.lon()));
+                    area.addNode(coord);
                 }
-                if( tokenCount < 2 )
-                    throw new IllegalDataException(tr("A polygon coordinate line must contain exactly 2 numbers"));
-                LatLon coord = new LatLon(coords[1], coords[0]);
-                if( !coord.isValid() )
-                    throw new IllegalDataException(tr("Invalid coordinates were found"));
-                area.addNode(coord);
             }
         }
@@ -128,4 +128,6 @@
     private DataSet constructDataSet( List<Area> areas ) {
         DataSet ds = new DataSet();
+        ds.setUploadDiscouraged(true);
+        
         boolean foundInner = false;
         for( Area area : areas ) {
@@ -187,6 +189,9 @@
         public void constructWay( DataSet ds ) {
             way = new Way();
-            for( LatLon coord : nodes )
-                way.addNode(new Node(coord));
+            for( LatLon coord : nodes ) {
+                Node node = new Node(coord);
+                ds.addPrimitive(node);
+                way.addNode(node);
+            }
             way.addNode(way.getNode(0));
             way.put("ref", name);
Index: applications/editors/josm/plugins/poly/src/poly/PolyType.java
===================================================================
--- applications/editors/josm/plugins/poly/src/poly/PolyType.java	(revision 28570)
+++ applications/editors/josm/plugins/poly/src/poly/PolyType.java	(revision 28571)
@@ -11,4 +11,4 @@
 public interface PolyType {
     public static final String EXTENSION = "poly";
-    public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(EXTENSION, EXTENSION, tr("Osmosis polygon files") + " (*." + EXTENSION + ")");
+    public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(EXTENSION, EXTENSION, tr("Osmosis polygon filter files") + " (*." + EXTENSION + ")");
 }
