Index: trunk/src/org/openstreetmap/josm/spi/lifecycle/Lifecycle.java
===================================================================
--- trunk/src/org/openstreetmap/josm/spi/lifecycle/Lifecycle.java	(revision 16957)
+++ trunk/src/org/openstreetmap/josm/spi/lifecycle/Lifecycle.java	(revision 16958)
@@ -6,10 +6,8 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.Future;
 
 import org.openstreetmap.josm.tools.JosmRuntimeException;
-import org.openstreetmap.josm.tools.Logging;
-import org.openstreetmap.josm.tools.Utils;
 import org.openstreetmap.josm.tools.bugreport.BugReport;
 
@@ -73,6 +71,5 @@
         // Initializes tasks to be executed (in parallel) by a ExecutorService
         try {
-            ExecutorService service = Executors.newFixedThreadPool(
-                    Runtime.getRuntime().availableProcessors(), Utils.newThreadFactory("main-init-%d", Thread.NORM_PRIORITY));
+            ExecutorService service = ForkJoinPool.commonPool();
             for (Future<Void> i : service.invokeAll(initSequence.parallelInitializationTasks())) {
                 i.get();
@@ -81,9 +78,4 @@
             initSequence.asynchronousRunnableTasks().forEach(service::submit);
             initSequence.asynchronousCallableTasks().forEach(service::submit);
-            try {
-                service.shutdown();
-            } catch (SecurityException e) {
-                Logging.log(Logging.LEVEL_ERROR, "Unable to shutdown executor service", e);
-            }
         } catch (InterruptedException | ExecutionException ex) {
             throw new JosmRuntimeException(ex);
