diff --git a/ipaacalib/java/src/ipaaca/util/communication/FutureIU.java b/ipaacalib/java/src/ipaaca/util/communication/FutureIU.java
index c9130cbd4176182ceb60d49c2a088b6ef281299e..1cd48549a65e6f968ec9b94907743ea59cb546e7 100644
--- a/ipaacalib/java/src/ipaaca/util/communication/FutureIU.java
+++ b/ipaacalib/java/src/ipaaca/util/communication/FutureIU.java
@@ -34,14 +34,7 @@ public class FutureIU
                 String id = iu.getPayload().get(idKey);
                 if (idVal.equals(id))
                 {
-                    try
-                    {
-                        queue.put(iu);
-                    }
-                    catch (InterruptedException e)
-                    {
-                        Thread.interrupted();
-                    }
+                    queue.offer(iu);                    
                 }
             }
         }, ImmutableSet.of(category));
diff --git a/ipaacalib/java/src/ipaaca/util/communication/FutureIUs.java b/ipaacalib/java/src/ipaaca/util/communication/FutureIUs.java
index f52d0fb4a8ec1215f08be3a83518f0f606e0035d..2e9ed3b2d482132b93d3b04027b8ed2fcf8576c4 100644
--- a/ipaacalib/java/src/ipaaca/util/communication/FutureIUs.java
+++ b/ipaacalib/java/src/ipaaca/util/communication/FutureIUs.java
@@ -40,7 +40,7 @@ public class FutureIUs
             {
                 String id = iu.getPayload().get(idKey);
                 resultsMap.putIfAbsent(id, new ArrayBlockingQueue<AbstractIU>(1));
-                resultsMap.get(id).add(iu);
+                resultsMap.get(id).offer(iu);
             }
         }, ImmutableSet.of(category));
     }