Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 12269)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 12272)
@@ -158,8 +158,16 @@
 
         public void finish() {
-            if (!"".equals(duration)) {
-                throw new IllegalStateException("This tasks has already been finished");
+            if (isFinished()) {
+                throw new IllegalStateException("This task has already been finished: " + name);
             }
             duration = tr(" ({0})", Utils.getDurationString(System.currentTimeMillis() - start));
+        }
+
+        /**
+         * Determines if this task has been finished.
+         * @return {@code true} if this task has been finished
+         */
+        public boolean isFinished() {
+            return !duration.isEmpty();
         }
 
@@ -174,5 +182,6 @@
             if (o == null || getClass() != o.getClass()) return false;
             MeasurableTask that = (MeasurableTask) o;
-            return Objects.equals(name, that.name);
+            return Objects.equals(name, that.name)
+                && isFinished() == that.isFinished();
         }
 
