diff --git a/fs/dquot.c b/fs/dquot.c
index 11048e0b32c92f3ebe8ec983c9ae118de5606921..3995ce7907ccbcfb276fa694cfa4bc98ddd8cc69 100644
--- a/fs/dquot.c
+++ b/fs/dquot.c
@@ -1443,6 +1443,7 @@ static int vfs_quota_on_inode(struct inode *inode, int type, int format_id)
 	oldflags = inode->i_flags & (S_NOATIME | S_IMMUTABLE | S_NOQUOTA);
 	inode->i_flags |= S_NOQUOTA | S_NOATIME | S_IMMUTABLE;
 	up_write(&dqopt->dqptr_sem);
+	sb->dq_op->drop(inode);
 
 	error = -EIO;
 	dqopt->files[type] = igrab(inode);