--- /sbin/mdrun.old	2007-03-04 17:26:17.000000000 +0100
+++ /sbin/mdrun	2007-03-04 17:26:06.000000000 +0100
@@ -143,7 +143,12 @@
 
 for MD in $UUIDS; do
    if [ "`arr MDS $MD`" != "started" ] ; then
-      NUMBER=`next_free_md`
+      NUMBER=$(grep $MD /etc/mdadm/mdadm.conf | cut -d ' ' -f 2)
+
+      if mdadm -D $NUMBER >/dev/null 2>&1 ; then
+         NUMBER=`next_free_md`
+      fi
+
       mdadm -A $NUMBER -f `arr MDS $MD` && setarr MDS $MD "started" 
       # just to be sure
       ln /dev/md/$NUMBER /dev/md$NUMBER 2>/dev/null

