diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/ResourcePool.java b/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/ResourcePool.java index 19f1c96b5..cfb980863 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/ResourcePool.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/simpleDataSources/ResourcePool.java @@ -67,9 +67,12 @@ abstract class ResourcePool { I iterator = createIteratorFromResource(segment, selectedResource); - // Make a note of this assignment for proper releasing later. - resourceAssignments.put(iterator, selectedResource); - + // also protect the resource assignment + synchronized (this) { + // Make a note of this assignment for proper releasing later. + resourceAssignments.put(iterator, selectedResource); + } + return iterator; }