diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index 054cc761b426fa510a33df464bd788342576f3fc..87b41edc800d0a1f5ef3d3b6267d75c2e9c0fd40 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -161,7 +161,8 @@ void jfs_evict_inode(struct inode *inode)
 			if (test_cflag(COMMIT_Freewmap, inode))
 				jfs_free_zero_link(inode);
 
-			diFree(inode);
+			if (JFS_SBI(inode->i_sb)->ipimap)
+				diFree(inode);
 
 			/*
 			 * Free the inode from the quota allocation.