Index: /trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java	(revision 10159)
+++ /trunk/src/org/openstreetmap/josm/io/StreamProgressUpdater.java	(revision 10160)
@@ -27,6 +27,6 @@
 
     private void initProgressMonitor() {
-        progressMonitor.beginTask(taskTitle);
         if (size > 0) {
+            progressMonitor.beginTask(taskTitle);
             progressMonitor.setTicksCount((int) size);
         } else {
Index: /trunk/src/org/openstreetmap/josm/tools/HttpClient.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 10159)
+++ /trunk/src/org/openstreetmap/josm/tools/HttpClient.java	(revision 10160)
@@ -110,7 +110,6 @@
             connection.setFixedLengthStreamingMode(requestBody.length);
             connection.setDoOutput(true);
-            final ProgressMonitor subTaskMonitor = progressMonitor.createSubTaskMonitor(1, false);
             try (OutputStream out = new BufferedOutputStream(
-                    new ProgressOutputStream(connection.getOutputStream(), requestBody.length, subTaskMonitor))) {
+                    new ProgressOutputStream(connection.getOutputStream(), requestBody.length, progressMonitor))) {
                 out.write(requestBody);
             }
@@ -264,7 +263,6 @@
                 in = connection.getErrorStream();
             }
-            monitor.subTask(tr("Fetching content..."));
             if (in != null) {
-                in = new ProgressInputStream(in, getContentLength(), monitor.createSubTaskMonitor(1, false));
+                in = new ProgressInputStream(in, getContentLength(), monitor);
                 in = "gzip".equalsIgnoreCase(getContentEncoding()) ? new GZIPInputStream(in) : in;
                 Compression compression = Compression.NONE;
