diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 901c1c938276f48dd209bfe3f7e88f8aa310bf67..f997fc95cc31c557178618a3972300d186e4ec32 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -6225,6 +6225,11 @@ static int ext4_quota_on(struct super_block *sb, int type, int format_id,
 	/* Quotafile not on the same filesystem? */
 	if (path->dentry->d_sb != sb)
 		return -EXDEV;
+
+	/* Quota already enabled for this file? */
+	if (IS_NOQUOTA(d_inode(path->dentry)))
+		return -EBUSY;
+
 	/* Journaling quota? */
 	if (EXT4_SB(sb)->s_qf_names[type]) {
 		/* Quotafile not in fs root? */