--- form.inc-dist	2006-01-26 13:39:48.000000000 +0000
+++ form.inc	2006-01-31 21:55:00.000000000 +0000
@@ -616,7 +616,7 @@ function password_confirm_validate($form
  *
  * @param $element
  *   An associative array containing the properties of the element.
- *   Properties used: title, value, options, description, required and attributes.
+ *   Properties used: title, value, options, description, required, start_year, end_year and attributes.
  * @return
  *   A themed HTML string representing the date selection boxes.
  */
@@ -636,6 +636,9 @@ function expand_date($element) {
                             'year' => format_date(time(), 'custom', 'Y'));
   }
 
+  $start_year = isset($element['#start_year']) ? $element['#start_year'] : 1900;
+  $end_year   = isset($element['#end_year']) ? $element['#end_year'] : 2050;
+
   $element['#tree'] = TRUE;
 
   // Determine the order of day, month, year in the site's chosen date format.
@@ -646,7 +649,7 @@ function expand_date($element) {
   $sort['year'] = strpos($format, 'Y');
   asort($sort);
   $order = array_keys($sort);
-
+  
   // Output multi-selector for date
   foreach ($order as $type) {
     switch ($type) {
@@ -657,7 +660,7 @@ function expand_date($element) {
         $options = drupal_map_assoc(range(1, 12), 'map_month');
         break;
       case 'year':
-        $options = drupal_map_assoc(range(1900, 2050));
+        $options = drupal_map_assoc(range($start_year, $end_year));
         break;
     }
     $parents = $element['#parents'];
