diff --git a/bindings/java/src/org/sleuthkit/datamodel/FileSystem.java b/bindings/java/src/org/sleuthkit/datamodel/FileSystem.java
index 45a21b58e30e55f5c554c47d6489f17eee56401a..8dc7dc6465ecf8f6a23b482e4d08d72400308e5c 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/FileSystem.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/FileSystem.java
@@ -19,6 +19,7 @@
 package org.sleuthkit.datamodel;
 
 import java.util.List;
+import org.apache.commons.lang3.ArrayUtils;
 
 /**
  * Represents a file system object stored in tsk_fs_info table FileSystem has a
@@ -69,6 +70,10 @@ public void close() {
 
 	@Override
 	public int read(byte[] buf, long offset, long len) throws TskCoreException {
+		Content dataSource = getDataSource();
+		if (dataSource instanceof Image && ArrayUtils.isEmpty(((Image) dataSource).getPaths())) {
+			return 0;
+		}
 		return SleuthkitJNI.readFs(getFileSystemHandle(), buf, offset, len);
 	}
 
diff --git a/bindings/java/src/org/sleuthkit/datamodel/FsContent.java b/bindings/java/src/org/sleuthkit/datamodel/FsContent.java
index 48607515449a400102fd358c74f1e34dd51854de..43b1f5d02cd8476155197f3dabf7ac0df4e912ae 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/FsContent.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/FsContent.java
@@ -183,6 +183,12 @@ protected synchronized int readInt(byte[] buf, long offset, long len) throws Tsk
 			//special case for 0-size file
 			return 0;
 		}
+		
+		Content dataSource = getDataSource();
+		if (dataSource instanceof Image && ((Image) dataSource).getPaths() == null || ((Image) dataSource).getPaths().length == 0) {
+			return 0;
+		}
+		
 		loadFileHandle();
 		return SleuthkitJNI.readFile(fileHandle, buf, offset, len);
 	}