diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c
index 776640451f6f..b46e11963c72 100644
--- a/fs/incfs/vfs.c
+++ b/fs/incfs/vfs.c
@@ -1600,6 +1600,10 @@ static int incfs_setattr(struct dentry *dentry, struct iattr *ia)
 
 	backing_inode = d_inode(backing_dentry);
 
+	if ((ia->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID)) &&
+	    (ia->ia_valid & ATTR_MODE))
+		return -EINVAL;
+
 	/* incfs files are readonly, but the backing files must be writeable */
 	if (S_ISREG(backing_inode->i_mode)) {
 		if ((ia->ia_valid & ATTR_MODE) && (ia->ia_mode & 0222))