Index: uspace/lib/ext4/libext4_filesystem.c
===================================================================
--- uspace/lib/ext4/libext4_filesystem.c	(revision c1b0c7508c83dc82b13c1bb90db8cef7de9346c9)
+++ uspace/lib/ext4/libext4_filesystem.c	(revision e25d78c0e11f174a2859b76cd4b709fa16e03362)
@@ -469,6 +469,6 @@
 				EXT4_BLOCK_GROUP_INODE_UNINIT);
 
-		ext4_block_group_set_itable_unused(newref->block_group,
-				newref->fs->superblock, 0);
+//		ext4_block_group_set_itable_unused(newref->block_group,
+//				newref->fs->superblock, 0);
 
 
Index: uspace/lib/ext4/libext4_ialloc.c
===================================================================
--- uspace/lib/ext4/libext4_ialloc.c	(revision c1b0c7508c83dc82b13c1bb90db8cef7de9346c9)
+++ uspace/lib/ext4/libext4_ialloc.c	(revision e25d78c0e11f174a2859b76cd4b709fa16e03362)
@@ -239,4 +239,23 @@
 			}
 
+			/* Decrease unused inodes count */
+			if (ext4_block_group_has_flag(bg,
+				EXT4_BLOCK_GROUP_ITABLE_ZEROED)) {
+
+				uint32_t unused =
+						ext4_block_group_get_itable_unused(bg, sb);
+
+				uint32_t inodes_in_group =
+						ext4_superblock_get_inodes_in_group(sb, bgid);
+
+				uint32_t free = inodes_in_group - unused;
+
+				if (index_in_group >= free) {
+					unused = inodes_in_group - (index_in_group + 1);
+
+					ext4_block_group_set_itable_unused(bg, sb, unused);
+				}
+			}
+
 			/* Save modified block group */
 			bg_ref->dirty = true;
