diff --git a/options_element.inc b/options_element.inc
index 23c6789..5cf394a 100644
--- a/options_element.inc
+++ b/options_element.inc
@@ -256,7 +256,8 @@ function _form_type_options_value(&$element, $edit = FALSE) {
         $default_items = explode(',', $edit['default_value_field']);
         foreach ($default_items as $key) {
           $key = trim($key);
-          if ($value = _form_options_search($key, $options)) {
+          $value = _form_options_search($key, $options);
+          if (!is_null($value)) {
             $default_value[] = $value;
           }
         }
@@ -405,10 +406,10 @@ function _form_options_search($needle, $haystack) {
     return $needle;
   }
   foreach ($haystack as $key => $value) {
-    if (is_array($value) && ($return = _form_options_search($needle, $value))) {
-      return $return;
+    if (is_array($value)) {
+      return _form_options_search($needle, $value);
     }
-    if ($value == $needle) {
+    elseif ($value == $needle) {
       return $key;
     }
   }
