diff --git a/core/modules/simpletest/tests/form.test b/core/modules/simpletest/tests/form.test
index 87d3b51..1e4dbce 100644
--- a/core/modules/simpletest/tests/form.test
+++ b/core/modules/simpletest/tests/form.test
@@ -555,6 +555,12 @@ class FormElementTestCase extends DrupalWebTestCase {
       )));
     }
   }
+
+  // Verify that an empty select element does not result in a PHP warning.
+  function testEmptySelect() {
+    // No need to check the page output: SimpleTest will report the PHP warning.
+    $this->drupalGet('form-test/empty-select');
+  }
 }
 
 /**
diff --git a/core/modules/simpletest/tests/form_test.module b/core/modules/simpletest/tests/form_test.module
index 9651bf2..4374ce5 100644
--- a/core/modules/simpletest/tests/form_test.module
+++ b/core/modules/simpletest/tests/form_test.module
@@ -243,6 +243,13 @@ function form_test_menu() {
     'access callback' => TRUE,
   );
 
+  $items['form-test/empty-select'] = array(
+    'title' => 'Empty Select Element',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('form_test_empty_select'),
+    'access callback' => TRUE,
+  );
+
   return $items;
 }
 
@@ -1113,6 +1120,15 @@ function form_test_select($form, &$form_state) {
     '#multiple' => TRUE,
   );
 
+  $form['select'] = array(
+    '#type' => 'select',
+    '#title' => t('Select'),
+    '#multiple' => TRUE,
+    '#description' => t('The description appears usually below the item.'),
+    '#options' => array(),
+    '#default_value' => -1,
+  );
+
   $form['submit'] = array('#type' => 'submit', '#value' => 'Submit');
   return $form;
 }
@@ -1882,3 +1898,17 @@ function form_test_required_attribute($form, &$form_state) {
 
   return $form;
 }
+
+/**
+ * Builds a form to test that no PHP warnings are thrown when #options is not an
+ * array for a select element.
+ */
+function form_test_empty_select($form, &$form_state) {
+  $form['select'] = array(
+    '#type' => 'select',
+    '#title' => t('Select'),
+    '#multiple' => FALSE,
+    '#options' => NULL,
+  );
+  return $form;
+}
\ No newline at end of file
