diff --git a/drivers/md/md.c b/drivers/md/md.c
index f1ac356e656d6423929aab6f860d30db22b33193..866c704e008a1c22a89348292803486bc11229c3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2226,8 +2226,11 @@ static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info)
 			       mdname(mddev));
 			return -EINVAL;
 		}
-		rdev = md_import_device(dev, mddev->major_version,
-					mddev->minor_version);
+		if (mddev->persistent)
+			rdev = md_import_device(dev, mddev->major_version,
+						mddev->minor_version);
+		else
+			rdev = md_import_device(dev, -1, -1);
 		if (IS_ERR(rdev)) {
 			printk(KERN_WARNING 
 				"md: md_import_device returned %ld\n",