diff --git a/modules/system/system.module b/modules/system/system.module
index 7f796a4..d07347a 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -285,6 +285,7 @@ function system_element_info() {
     '#list_type' => 'ul',
     '#attributes' => array(),
     '#items' => array(),
+    '#title_display' => 'before',
   );
   // By default, we don't want AJAX commands being rendered in the context of an
   // HTML page, so we don't provide defaults for #theme or #theme_wrappers.
@@ -343,6 +344,8 @@ function system_element_info() {
     '#process' => array('ajax_process_form'),
     '#theme' => 'textfield',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['password'] = array(
     '#input' => TRUE,
@@ -351,6 +354,7 @@ function system_element_info() {
     '#process' => array('ajax_process_form'),
     '#theme' => 'password',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
   );
   $types['password_confirm'] = array(
     '#input' => TRUE,
@@ -365,6 +369,8 @@ function system_element_info() {
     '#process' => array('ajax_process_form'),
     '#theme' => 'textarea',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['radios'] = array(
     '#input' => TRUE,
@@ -379,6 +385,7 @@ function system_element_info() {
     '#theme' => 'radio',
     '#theme_wrappers' => array('form_element'),
     '#title_display' => 'after',
+    '#required' => FALSE,
   );
   $types['checkboxes'] = array(
     '#input' => TRUE,
@@ -394,6 +401,7 @@ function system_element_info() {
     '#theme' => 'checkbox',
     '#theme_wrappers' => array('form_element'),
     '#title_display' => 'after',
+    '#required' => FALSE,
   );
   $types['select'] = array(
     '#input' => TRUE,
@@ -402,12 +410,16 @@ function system_element_info() {
     '#process' => array('ajax_process_form'),
     '#theme' => 'select',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['weight'] = array(
     '#input' => TRUE,
     '#delta' => 10,
     '#default_value' => 0,
     '#process' => array('form_process_weight', 'ajax_process_form'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['date'] = array(
     '#input' => TRUE,
@@ -415,12 +427,16 @@ function system_element_info() {
     '#process' => array('form_process_date'),
     '#theme' => 'date',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['file'] = array(
     '#input' => TRUE,
     '#size' => 60,
     '#theme' => 'file',
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
+    '#required' => FALSE,
   );
   $types['tableselect'] = array(
     '#input' => TRUE,
@@ -437,6 +453,7 @@ function system_element_info() {
     '#markup' => '',
     '#pre_render' => array('drupal_pre_render_markup'),
     '#theme_wrappers' => array('form_element'),
+    '#title_display' => 'before',
   );
   $types['hidden'] = array(
     '#input' => TRUE,
