diff -Naur mdadm-2.2-orig/Assemble.c mdadm-2.2/Assemble.c --- mdadm-2.2-orig/Assemble.c 2005-12-04 21:56:20.000000000 -0800 +++ mdadm-2.2/Assemble.c 2006-02-06 10:56:37.000000000 -0800 @@ -219,7 +219,7 @@ } if (dfd >= 0) close(dfd); - if (ident->uuid_set && (!update && strcmp(update, "uuid")!= 0) && + if (ident->uuid_set && (!update || strcmp(update, "uuid")!= 0) && (!super || same_uuid(info.uuid, ident->uuid, tst->ss->swapuuid)==0)) { if ((inargv && verbose >= 0) || verbose > 0) fprintf(stderr, Name ": %s has wrong uuid.\n",