Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.341
diff -u -r1.341 form.inc
--- includes/form.inc	15 Jun 2009 09:51:49 -0000	1.341
+++ includes/form.inc	15 Jun 2009 15:15:07 -0000
@@ -1067,7 +1067,7 @@
     array_unshift($form['#parents'], $name);
   }
 
-  if (!empty($form['#disabled'])) {
+  if (!empty($form['#disabled']) && !is_array($form['#disabled'])) {
     $form['#attributes']['disabled'] = 'disabled';
   }
 
@@ -1846,6 +1846,9 @@
           '#ahah' => isset($element['#ahah']) ? $element['#ahah'] : NULL,
         );
       }
+      if (in_array($key, (array)$element['#disabled'])) {
+        $element[$key]['#attributes']['disabled'] = TRUE;
+      }
     }
   }
   return $element;
@@ -2117,6 +2120,9 @@
           '#ahah' => isset($element['#ahah']) ? $element['#ahah'] : NULL,
         );
       }
+      if (in_array($key, (array)$element['#disabled'])) {
+        $element[$key]['#attributes']['disabled'] = TRUE;
+      }
     }
   }
   return $element;
