diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c
index 30af43e..58f1ff5 100644
--- a/misc/e2freefrag.c
+++ b/misc/e2freefrag.c
@@ -249,13 +249,14 @@ static void collect_info(ext2_filsys fs, struct chunk_info *chunk_info, FILE *f)
 static void open_device(char *device_name, ext2_filsys *fs)
 {
 	int retval;
-	int flag = EXT2_FLAG_FORCE;
+	int flag = EXT2_FLAG_FORCE | EXT2_FLAG_64BITS;
 
 	retval = ext2fs_open(device_name, flag, 0, 0, unix_io_manager, fs);
 	if (retval) {
 		com_err(device_name, retval, "while opening filesystem");
 		exit(1);
 	}
+	(*fs)->default_bitmap_type = EXT2FS_BMAP64_RBTREE;
 }
 #endif
 
