diff --git a/drivers/md/md.c b/drivers/md/md.c
index 373ab92e367b853066f15fc8f50b757b8184b9dc..63c566165189acc3458fabc07f61e8d657ee3ca9 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2430,7 +2430,7 @@ static int set_bitmap_file(mddev_t *mddev, int fd)
 {
 	int err;
 
-	if (mddev->pers)
+	if (mddev->pers || mddev->bitmap_file)
 		return -EBUSY;
 
 	mddev->bitmap_file = fget(fd);