Index: /trunk/src/org/openstreetmap/josm/io/AbstractReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 14687)
+++ /trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 14688)
@@ -291,5 +291,5 @@
         CheckParameterUtil.ensureParameterNotNull(source, "source");
         try {
-            progressMonitor.beginTask(tr("Prepare OSM data...", 2));
+            progressMonitor.beginTask(tr("Prepare OSM data..."), 4); // read, prepare, post-process, render
             progressMonitor.indeterminateSubTask(tr("Parsing OSM data..."));
 
@@ -310,8 +310,10 @@
             }
             progressMonitor.worked(1);
-
+            progressMonitor.indeterminateSubTask(tr("Post-processing data set..."));
             // iterate over registered postprocessors and give them each a chance
             // to modify the dataset we have just loaded.
             callPostProcessors(progressMonitor);
+            progressMonitor.worked(1);
+            progressMonitor.indeterminateSubTask(tr("Rendering data set..."));
             // Make sure postprocessors did not change the read-only state
             if (readOnly && !getDataSet().isLocked()) {
@@ -328,5 +330,5 @@
                 AbstractPrimitive.advanceUniqueId(minId.getAsLong());
             }
-            progressMonitor.finishTask();
+            // don't call progressMonitor.finishTask() here, let caller do it
             progressMonitor.removeCancelListener(cancelListener);
         }
