--- form.inc.orig	Sat Apr 29 16:02:00 2006
+++ form.inc	Sat May 06 22:04:54 2006
@@ -957,8 +957,11 @@
   else {
     $element['#attributes']['class'] = 'form-'. $element['#button_type'];
   }
-
-  return '<input type="submit" '. (empty($element['#name']) ? '' : 'name="'. $element['#name'] .'" ') .'value="'. check_plain($element['#value']) .'" '. drupal_attributes($element['#attributes']) ." />\n";
+  
+  //by default (if #submit is not set) a button will submit
+  if (!isset($element['#submit'])) $element['#submit'] = TRUE;
+  
+  return '<input type="' . ($element['#submit'] ? 'submit' : 'button') . '" '. (empty($element['#name']) ? '' : 'name="'. $element['#name'] .'" ') .'value="'. check_plain($element['#value']) .'" '. drupal_attributes($element['#attributes']) ." />\n";
 }
 
 /**
