diff --git a/squashfs-fragmentsize.patch b/squashfs-fragmentsize.patch
index 79fa6ea..52c2df4 100644
--- a/squashfs-fragmentsize.patch
+++ b/squashfs-fragmentsize.patch
@@ -1,11 +1,29 @@
---- squashfs3.0/squashfs-tools/mksquashfs.c.fragment	2006-08-16 10:56:00.000000000 -0400
-+++ squashfs3.0/squashfs-tools/mksquashfs.c	2006-08-16 10:56:46.000000000 -0400
+diff -Naur old-mksquashfs/mksquashfs.c mksquashfs/mksquashfs.c
+--- old-mksquashfs/mksquashfs.c	2006-08-16 23:48:05.000000000 +0100
++++ mksquashfs/mksquashfs.c	2006-08-16 23:50:18.000000000 +0100
 @@ -985,7 +985,7 @@
  	}
  
  	for(i = 0; i < meta_blocks; i++) {
 -		int avail_bytes = i == meta_blocks - 1 ? frag_bytes % SQUASHFS_METADATA_SIZE : SQUASHFS_METADATA_SIZE;
-+		int avail_bytes = i == meta_blocks - 1 ? frag_bytes - i % SQUASHFS_METADATA_SIZE : SQUASHFS_METADATA_SIZE;
++		int avail_bytes = frag_bytes > SQUASHFS_METADATA_SIZE ? SQUASHFS_METADATA_SIZE : frag_bytes;
  		c_byte = mangle(cbuffer + block_offset, buffer + i * SQUASHFS_METADATA_SIZE , avail_bytes, SQUASHFS_METADATA_SIZE, noF, 0);
  		if(!swap)
  			memcpy(cbuffer, &c_byte, sizeof(unsigned short));
+@@ -997,6 +997,7 @@
+ 		compressed_size = SQUASHFS_COMPRESSED_SIZE(c_byte) + block_offset;
+ 		write_bytes(fd, bytes, compressed_size, cbuffer);
+ 		bytes += compressed_size;
++		frag_bytes -= avail_bytes;
+ 	}
+ 
+ 	if(!swap)
+@@ -1791,7 +1792,7 @@
+ 
+ 
+ #define VERSION() \
+-	printf("mksquashfs version 3.0 (2006/03/15)\n");\
++	printf("mksquashfs version 3.0-patched (2006//08/16)\n");\
+ 	printf("copyright (C) 2006 Phillip Lougher <phillip@lougher.org.uk>\n\n"); \
+     	printf("This program is free software; you can redistribute it and/or\n");\
+ 	printf("modify it under the terms of the GNU General Public License\n");\
diff --git a/squashfs-tools.spec b/squashfs-tools.spec
index e52e465..9658457 100644
--- a/squashfs-tools.spec
+++ b/squashfs-tools.spec
@@ -1,7 +1,7 @@
 Summary: squashfs utilities
 Name: squashfs-tools
 Version: 3.0
-Release: 2
+Release: 3
 License: GPL
 Group: System Environment/Base
 URL: http://squashfs.sf.net
@@ -42,6 +42,9 @@ rm -rf $RPM_BUILD_ROOT
 /usr/sbin/unsquashfs
 
 %changelog
+* Mon Sep 18 2006 Jeremy Katz <katzj@redhat.com> - 3.0-3
+- updated fragment size patch (#204638)
+
 * Wed Aug 16 2006 Jeremy Katz <katzj@redhat.com> - 3.0-2
 - add upstream patch for fragment size problem (#202663)