diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c
index 2568ead..ad2bd7a 100644
--- a/squashfs-tools/unsquashfs.c
+++ b/squashfs-tools/unsquashfs.c
@@ -39,7 +39,7 @@
 #include <ctype.h>
 
 struct cache *fragment_cache, *data_cache;
-struct queue *to_reader, *to_deflate, *to_writer, *from_writer;
+struct queue *to_reader, *to_inflate, *to_writer, *from_writer;
 pthread_t *thread, *deflator_thread;
 pthread_mutex_t	fragment_mutex;
 
@@ -1914,7 +1914,7 @@
 			 * queue successfully read block to the deflate
 			 * thread(s) for further processing
  			 */
-			queue_put(to_deflate, entry);
+			queue_put(to_inflate, entry);
 		else
 			/*
 			 * block has either been successfully read and is
@@ -2038,7 +2038,7 @@
 	char tmp[block_size];
 
 	while(1) {
-		struct cache_entry *entry = queue_get(to_deflate);
+		struct cache_entry *entry = queue_get(to_inflate);
 		int error, res;
 
 		res = compressor_uncompress(comp, tmp, entry->data,
@@ -2160,10 +2160,10 @@
 	deflator_thread = &thread[3];
 
 	/*
-	 * dimensioning the to_reader and to_deflate queues.  The size of
+	 * dimensioning the to_reader and to_inflate queues.  The size of
 	 * these queues is directly related to the amount of block
 	 * read-ahead possible.  To_reader queues block read requests to
-	 * the reader thread and to_deflate queues block decompression
+	 * the reader thread and to_inflate queues block decompression
 	 * requests to the deflate thread(s) (once the block has been read by
 	 * the reader thread).  The amount of read-ahead is determined by
 	 * the combined size of the data_block and fragment caches which
@@ -2187,7 +2187,7 @@
 	 *
 	 * dimensioning the to_writer queue.  The size of this queue is
 	 * directly related to the amount of block read-ahead possible.
-	 * However, unlike the to_reader and to_deflate queues, this is
+	 * However, unlike the to_reader and to_inflate queues, this is
 	 * complicated by the fact the to_writer queue not only contains
 	 * entries for fragments and data_blocks but it also contains
 	 * file entries, one per open file in the read-ahead.
@@ -2221,7 +2221,7 @@
 	open_init(max_files);
 
 	/*
-	 * allocate to_reader, to_deflate and to_writer queues.  Set based on
+	 * allocate to_reader, to_inflate and to_writer queues.  Set based on
 	 * open file limit and cache size, unless open file limit is unlimited,
 	 * in which case set purely based on cache limits
 	 *
@@ -2234,7 +2234,7 @@
 			EXIT_UNSQUASH("Data queue size is too large\n");
 
 		to_reader = queue_init(max_files + data_buffer_size);
-		to_deflate = queue_init(max_files + data_buffer_size);
+		to_inflate = queue_init(max_files + data_buffer_size);
 		to_writer = queue_init(max_files * 2 + data_buffer_size);
 	} else {
 		int all_buffers_size;
@@ -2250,7 +2250,7 @@
 							" too large\n");
 
 		to_reader = queue_init(all_buffers_size);
-		to_deflate = queue_init(all_buffers_size);
+		to_inflate = queue_init(all_buffers_size);
 		to_writer = queue_init(all_buffers_size * 2);
 	}
 
diff --git a/squashfs-tools/unsquashfs.h b/squashfs-tools/unsquashfs.h
index 311f822..c70e401 100644
--- a/squashfs-tools/unsquashfs.h
+++ b/squashfs-tools/unsquashfs.h
@@ -232,7 +232,7 @@
 extern int inode_number;
 extern int lookup_type[];
 extern int fd;
-struct queue *to_reader, *to_deflate, *to_writer;
+struct queue *to_reader, *to_inflate, *to_writer;
 
 /* unsquashfs.c */
 extern int lookup_entry(struct hash_table_entry **, long long);
diff --git a/squashfs-tools/unsquashfs_info.c b/squashfs-tools/unsquashfs_info.c
index ec5250c..a96204c 100644
--- a/squashfs-tools/unsquashfs_info.c
+++ b/squashfs-tools/unsquashfs_info.c
@@ -77,7 +77,7 @@
 
 	printf("file buffer decompress queue (reader thread -> inflate"
 							" thread(s))\n");
-	dump_queue(to_deflate);
+	dump_queue(to_inflate);
 
 	printf("file buffer write queue (main thread -> writer thread)\n");
 	dump_queue(to_writer);
