diff --git a/src/com/google/bitcoin/core/PeerGroup.java b/src/com/google/bitcoin/core/PeerGroup.java
index <HASH>..<HASH> 100644
--- a/src/com/google/bitcoin/core/PeerGroup.java
+++ b/src/com/google/bitcoin/core/PeerGroup.java
@@ -375,6 +375,10 @@ public class PeerGroup {
             Thread t = new Thread(group, r,
                                   namePrefix + threadNumber.getAndIncrement(),
                                   0);
+            // Lower the priority of the peer threads. This is to avoid competing with UI threads created by the API
+            // user when doing lots of work, like downloading the block chain. We select a priority level one lower
+            // than the parent thread, or the minimum.
+            t.setPriority(Math.max(Thread.MIN_PRIORITY, group.getMaxPriority() - 1));
             t.setDaemon(true);
             return t;
         }
Lower priority for peer threads to avoid competing with UI threads. Resolves issue <I>.