diff --git a/bindings/java/src/org/sleuthkit/datamodel/Pool.java b/bindings/java/src/org/sleuthkit/datamodel/Pool.java
index 4c3e12ff3f411388285e5829bdb90856fc0b35bc..be2200efba9c07a4d7780eacc1efa1d35cf70d6e 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/Pool.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/Pool.java
@@ -18,7 +18,6 @@
  */
 package org.sleuthkit.datamodel;
 
-import java.util.ArrayList;
 import java.util.List;
 import org.sleuthkit.datamodel.TskData.TSK_DB_POOL_TYPE_ENUM;
 
@@ -28,7 +27,7 @@
 public class Pool extends AbstractContent {
 
 	private volatile long poolHandle = 0;
-	private long type, imgOffset;
+	private final long type, imgOffset;
 
 	/**
 	 * Constructor most inputs are from the database
diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
index 48d231b97e84b40b1887c90da3cd8eceb9894f30..766571b1925a7b45b3eaa45d04d17f859378be44 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
@@ -7344,8 +7344,7 @@ private Pool getPoolByIdHelper(long id, Content parent) throws TskCoreException
 			rs = connection.executeQuery(s, "SELECT * FROM tsk_pool_info " //NON-NLS
 					+ "where obj_id = " + id); //NON-NLS
 			if (rs.next()) {
-				
-				Pool pool = new Pool(this, rs.getLong("obj_id"), "POOL!", rs.getLong("pool_type"), rs.getLong("img_offset"));
+				Pool pool = new Pool(this, rs.getLong("obj_id"), TskData.TSK_DB_POOL_TYPE_ENUM.valueOf(rs.getLong("pool_type")).getName(), rs.getLong("pool_type"), rs.getLong("img_offset"));
 				pool.setParent(parent);
 				
 				return pool;
diff --git a/bindings/java/src/org/sleuthkit/datamodel/TskData.java b/bindings/java/src/org/sleuthkit/datamodel/TskData.java
index ae7263a4549194fd7d6fe9301b39d6d1036cf16e..aecc8d9ae308737d6ae3a2531f699fa1ed85cd4b 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/TskData.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/TskData.java
@@ -730,7 +730,7 @@ public String getName() {
 	 */
 	public enum TSK_DB_POOL_TYPE_ENUM {
 		TSK_POOL_TYPE_DETECT(0, "Auto detect"), ///< Use autodetection methods
-		TSK_POOL_TYPE_APFS(1, "APFS"), ///< APFS Pooled Volumes
+		TSK_POOL_TYPE_APFS(1, "APFS Pool"), ///< APFS Pooled Volumes
 		TSK_POOL_TYPE_UNSUPP(0xffff, "Unsupported") ///< Unsupported pool container type
 		;
 
diff --git a/tsk/fs/apfs_compat.cpp b/tsk/fs/apfs_compat.cpp
index 8baee180d2de0a5786770088694d01f6dfd20ac4..03c05936afbe76385553475e179ef8dbc0d8ba14 100755
--- a/tsk/fs/apfs_compat.cpp
+++ b/tsk/fs/apfs_compat.cpp
@@ -176,7 +176,7 @@ APFSFSCompat::APFSFSCompat(TSK_IMG_INFO* img_info, const TSK_POOL_INFO* pool_inf
   //_fsinfo.fs_pool_info = pool_info;
   //_fsinfo.fs_vol_block = vol_block;
   _fsinfo.img_info = img_info; 
-  _fsinfo.offset = pool.first_img_offset;
+  _fsinfo.offset = pool.first_img_offset();
   _fsinfo.block_count = vol.alloc_blocks();
   _fsinfo.block_size = pool.block_size();
   _fsinfo.dev_bsize = pool.dev_block_size();
diff --git a/tsk/pool/apfs_pool_compat.cpp b/tsk/pool/apfs_pool_compat.cpp
index 77443f557c59cc26f785123dc3acd51ce3e14d47..24f175b3c497c2c1f55f166ad86472861378ae2d 100755
--- a/tsk/pool/apfs_pool_compat.cpp
+++ b/tsk/pool/apfs_pool_compat.cpp
@@ -300,7 +300,7 @@ apfs_img_read(TSK_IMG_INFO * img_info, TSK_OFF_T offset, char *buf, size_t len)
     const auto pool = static_cast<APFSPoolCompat*>(pool_img_info->pool_info->impl);
     TSK_IMG_INFO *origInfo = pool->getTSKImgInfo(0);
 
-    return origInfo->read(origInfo, offset + pool->first_img_offset(), buf, len);
+    return origInfo->read(origInfo, offset, buf, len);
 }
 
 TSK_IMG_INFO * APFSPoolCompat::getImageInfo(const TSK_POOL_INFO *pool_info, TSK_DADDR_T pvol_block) noexcept try {