Index: uspace/srv/fs/minixfs/mfs_balloc.c
===================================================================
--- uspace/srv/fs/minixfs/mfs_balloc.c	(revision 7accfacc36bc94fc88ae36d0388f11f828c65083)
+++ uspace/srv/fs/minixfs/mfs_balloc.c	(revision b489f6619bdd4f9a6e8571d41cdd7a09fadc1b39)
@@ -69,5 +69,5 @@
 mfs_free_inode(struct mfs_instance *inst, uint32_t inum)
 {
-	return mfs_free_bit(inst, inum, BMAP_INODE);
+	return mfs_free_bit(inst, inum - 1, BMAP_INODE);
 }
 
@@ -119,4 +119,5 @@
 	int r;
 	unsigned start_block;
+	unsigned *search;
 	block_t *b;
 
@@ -126,4 +127,5 @@
 
 	if (bid == BMAP_ZONE) {
+		search = &sbi->zsearch;
 		start_block = 2 + sbi->ibmap_blocks;
 		if (idx > sbi->nzones) {
@@ -134,4 +136,5 @@
 	} else {
 		/*bid == BMAP_INODE*/
+		search = &sbi->isearch;
 		start_block = 2;
 		if (idx > sbi->ninodes) {
@@ -160,4 +163,7 @@
 	r = block_put(b);
 	mfsdebug("free index %u\n", idx);
+
+	if (*search > idx)
+		*search = idx;
 
 out_err:
