diff --git a/options_element.inc b/options_element.inc
index 3c53f9c..f9618f9 100644
--- a/options_element.inc
+++ b/options_element.inc
@@ -156,7 +156,7 @@ function _form_options_expand($element) {
   }
 
   // Add the field for storing default values.
-  if ($element['#default_value'] !== FALSE && !isset($element['default_value_field'])) {
+  if ($element['#manual_default_value_allowed'] && !isset($element['default_value_field'])) {
     $element['default_value_field'] = array(
       '#title' => t('Default value'),
       '#type' => 'textfield',
diff --git a/options_element.module b/options_element.module
index 2360250..d580564 100644
--- a/options_element.module
+++ b/options_element.module
@@ -64,6 +64,9 @@
  *   the "none" key type.
  * - key_type_toggled: Determine if the toggle checkbox is set or not by
  *   default.
+ * - manual_default_value_allowed: Indicates whether the end user should be
+ *   able to modify the default value when editing the options list. Defaults
+ *   to TRUE.
  *   @code
  *   $element['options'] = array(
  *     '#type' => 'options',
@@ -86,6 +89,7 @@ function options_element_element_info() {
     '#key_type' => 'mixed',
     '#key_type_toggle' => NULL,
     '#key_type_toggled' => FALSE,
+    '#manual_default_value_allowed' => TRUE,
     '#element_validate' => array('form_options_validate'),
     '#disabled' => FALSE,
   );
