diff --git a/bindings/java/src/org/sleuthkit/datamodel/Report.java b/bindings/java/src/org/sleuthkit/datamodel/Report.java
index be3b7dc2b0c55f9934c5e314ae0a89601c4748f5..bf70b73924b2149343cf355517fda8ec49e34f9d 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/Report.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/Report.java
@@ -129,7 +129,9 @@ public int read(byte[] buf, long offset, long len) throws TskCoreException {
 		int totalBytesRead = 0;
 		ByteBuffer data = ByteBuffer.wrap(buf);
 		try {
-			fileChannel = FileChannel.open(pathAsPath, READ);
+			if (fileChannel == null) {
+				fileChannel = FileChannel.open(pathAsPath, READ);
+			}
 			fileChannel.position(offset);
 			int bytesRead = 0;
 			do {