Index: src/org/openstreetmap/josm/io/GpxReader.java
===================================================================
--- src/org/openstreetmap/josm/io/GpxReader.java	(revision 46)
+++ src/org/openstreetmap/josm/io/GpxReader.java	(revision 47)
@@ -124,5 +124,5 @@
 						parseKeyValueExtensions(lineSegment, child.getChild("extensions", GPX));
 						track.segments.add(lineSegment);
-						start = null;
+						start = node;
 					}
 				}
Index: src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- src/org/openstreetmap/josm/io/OsmReader.java	(revision 46)
+++ src/org/openstreetmap/josm/io/OsmReader.java	(revision 47)
@@ -190,5 +190,4 @@
 			while (st.hasMoreTokens()) {
 				String next = st.nextToken();
-				System.out.println(next);
 				if (next.trim().equals(""))
 					continue;
Index: src/org/openstreetmap/josm/io/OsmServerReader.java
===================================================================
--- src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 46)
+++ src/org/openstreetmap/josm/io/OsmServerReader.java	(revision 47)
@@ -66,4 +66,5 @@
 			if (!foundSomething)
 				break;
+			r.close();
 		}
 
@@ -81,5 +82,7 @@
 		if (r == null)
 			return null;
-		return new OsmReader(r).parse();
+		DataSet data = new OsmReader(r).parse();
+		r.close();
+		return data;
 	}
 
