diff --git a/drivers/md/md.c b/drivers/md/md.c
index 225815197a3d69fba134433ab269d0c9a255681b..64f97168cefa5a846666c3a54b6c75638020dc66 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2108,6 +2108,8 @@ static void md_update_sb(mddev_t * mddev, int force_change)
 	if (!mddev->persistent) {
 		clear_bit(MD_CHANGE_CLEAN, &mddev->flags);
 		clear_bit(MD_CHANGE_DEVS, &mddev->flags);
+		if (!mddev->external)
+			clear_bit(MD_CHANGE_PENDING, &mddev->flags);
 		wake_up(&mddev->sb_wait);
 		return;
 	}