diff --git a/core/modules/options/lib/Drupal/options/Tests/OptionsSelectDynamicValuesTest.php b/core/modules/options/lib/Drupal/options/Tests/OptionsSelectDynamicValuesTest.php
index 4344d21..6854037 100644
--- a/core/modules/options/lib/Drupal/options/Tests/OptionsSelectDynamicValuesTest.php
+++ b/core/modules/options/lib/Drupal/options/Tests/OptionsSelectDynamicValuesTest.php
@@ -36,7 +36,7 @@ function testSelectListDynamic() {
     $this->assertEqual(count($options), count($this->test) + 1);
     foreach ($options as $option) {
       $value = (string) $option['value'];
-      if ($value != '_none') {
+      if ($value !== "") {
         $this->assertTrue(array_search($value, $this->test));
       }
     }
diff --git a/core/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php b/core/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
index 6804b6a..eef32fb 100644
--- a/core/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
+++ b/core/modules/options/lib/Drupal/options/Tests/OptionsWidgetsTest.php
@@ -114,7 +114,7 @@ function testRadioButtons() {
     $this->assertNoFieldChecked("edit-card-1-$langcode-2");
 
     // Unselect option.
-    $edit = array("card_1[$langcode]" => '_none');
+    $edit = array("card_1[$langcode]" => "");
     $this->drupalPost(NULL, $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_1', $langcode, array());
 
@@ -240,17 +240,17 @@ function testSelectListSingle() {
     // Display form.
     $this->drupalGet('test-entity/manage/' . $entity->ftid . '/edit');
     // A required field without any value has a "none" option.
-    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', array(':id' => 'edit-card-1-' . $langcode, ':label' => t('- Select a value -'))), 'A required select list has a "Select a value" choice.');
+    $this->assertTrue($this->xpath('//select[@id=:id]//option[text()=:label]', array(':id' => 'edit-card-1-' . $langcode, ':label' => t('- Select a value -'))), 'A required select list has a "Select a value" choice.');
 
     // With no field data, nothing is selected.
-    $this->assertNoOptionSelected("edit-card-1-$langcode", '_none');
+    $this->assertNoOptionSelected("edit-card-1-$langcode", "");
     $this->assertNoOptionSelected("edit-card-1-$langcode", 0);
     $this->assertNoOptionSelected("edit-card-1-$langcode", 1);
     $this->assertNoOptionSelected("edit-card-1-$langcode", 2);
     $this->assertRaw('Some dangerous &amp; unescaped markup', 'Option text was properly filtered.');
 
     // Submit form: select invalid 'none' option.
-    $edit = array("card_1[$langcode]" => '_none');
+    $edit = array("card_1[$langcode]" => "");
     $this->drupalPost(NULL, $edit, t('Save'));
     $this->assertRaw(t('!title field is required.', array('!title' => $instance['field_name'])), 'Cannot save a required field when selecting "none" from the select list.');
 
@@ -262,7 +262,7 @@ function testSelectListSingle() {
     // Display form: check that the right options are selected.
     $this->drupalGet('test-entity/manage/' . $entity->ftid . '/edit');
     // A required field with a value has no 'none' option.
-    $this->assertFalse($this->xpath('//select[@id=:id]//option[@value="_none"]', array(':id' => 'edit-card-1-' . $langcode)), 'A required select list with an actual value has no "none" choice.');
+    $this->assertFalse($this->xpath('//select[@id=:id]//option[@value=""]', array(':id' => 'edit-card-1-' . $langcode)), 'A required select list with an actual value has no "none" choice.');
     $this->assertOptionSelected("edit-card-1-$langcode", 0);
     $this->assertNoOptionSelected("edit-card-1-$langcode", 1);
     $this->assertNoOptionSelected("edit-card-1-$langcode", 2);
@@ -274,9 +274,9 @@ function testSelectListSingle() {
     // Display form.
     $this->drupalGet('test-entity/manage/' . $entity->ftid . '/edit');
     // A non-required field has a 'none' option.
-    $this->assertTrue($this->xpath('//select[@id=:id]//option[@value="_none" and text()=:label]', array(':id' => 'edit-card-1-' . $langcode, ':label' => t('- None -'))), 'A non-required select list has a "None" choice.');
+    $this->assertTrue($this->xpath('//select[@id=:id]//option[text()=:label]', array(':id' => 'edit-card-1-' . $langcode, ':label' => t('- None -'))), 'A non-required select list has a "None" choice.');
     // Submit form: Unselect the option.
-    $edit = array("card_1[$langcode]" => '_none');
+    $edit = array("card_1[$langcode]" => "");
     $this->drupalPost('test-entity/manage/' . $entity->ftid . '/edit', $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_1', $langcode, array());
 
@@ -306,7 +306,7 @@ function testSelectListSingle() {
     $this->assertNoOptionSelected("edit-card-1-$langcode", 2);
 
     // Submit form: Unselect the option.
-    $edit = array("card_1[$langcode]" => '_none');
+    $edit = array("card_1[$langcode]" => "");
     $this->drupalPost('test-entity/manage/' . $entity->ftid . '/edit', $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_1', $langcode, array());
   }
@@ -376,12 +376,12 @@ function testSelectListMultiple() {
 
     // Check that the 'none' option has no efect if actual options are selected
     // as well.
-    $edit = array("card_2[$langcode][]" => array('_none' => '_none', 0 => 0));
+    $edit = array("card_2[$langcode][]" => array(NULL => '_none', 0 => 0));
     $this->drupalPost('test-entity/manage/' . $entity->ftid . '/edit', $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_2', $langcode, array(0));
 
     // Check that selecting the 'none' option empties the field.
-    $edit = array("card_2[$langcode][]" => array('_none' => '_none'));
+    $edit = array("card_2[$langcode][]" => "");
     $this->drupalPost('test-entity/manage/' . $entity->ftid . '/edit', $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_2', $langcode, array());
 
@@ -423,7 +423,7 @@ function testSelectListMultiple() {
     $this->assertNoOptionSelected("edit-card-2-$langcode", 2);
 
     // Submit form: Unselect the option.
-    $edit = array("card_2[$langcode][]" => array('_none' => '_none'));
+    $edit = array("card_2[$langcode][]" => "");
     $this->drupalPost('test-entity/manage/' . $entity->ftid . '/edit', $edit, t('Save'));
     $this->assertFieldValues($entity_init, 'card_2', $langcode, array());
   }
diff --git a/core/modules/options/options.module b/core/modules/options/options.module
index b49d16b..be820c0 100644
--- a/core/modules/options/options.module
+++ b/core/modules/options/options.module
@@ -570,7 +570,7 @@ function options_field_widget_settings_form($field, $instance) {
  * Form element validation handler for options elements.
  */
 function options_field_widget_validate($element, &$form_state) {
-  if ($element['#required'] && $element['#value'] == '_none') {
+  if ($element['#required'] && $element['#value'] == NULL) {
     form_error($element, t('!name field is required.', array('!name' => $element['#title'])));
   }
   // Transpose selections from field => delta to delta => field, turning
@@ -666,7 +666,7 @@ function _options_get_options($field, $instance, $properties, EntityInterface $e
 
   if ($properties['empty_option']) {
     $label = theme('options_none', array('instance' => $instance, 'option' => $properties['empty_option']));
-    $options = array('_none' => $label) + $options;
+    $options = array(NULL => $label) + $options;
   }
 
   return $options;
@@ -746,7 +746,7 @@ function _options_form_to_storage($element) {
   // Filter out the 'none' option. Use a strict comparison, because
   // 0 == 'any string'.
   if ($properties['empty_option']) {
-    $index = array_search('_none', $values, TRUE);
+    $index = array_search(NULL, $values, TRUE);
     if ($index !== FALSE) {
       unset($values[$index]);
     }
