diff --git a/term_reference_filter_by_views.module b/term_reference_filter_by_views.module
index 8fd9d7a..af89489 100755
--- a/term_reference_filter_by_views.module
+++ b/term_reference_filter_by_views.module
@@ -25,14 +25,22 @@ function term_reference_filter_by_views_field_widget_form_alter(&$element, &$for
         $allowed = _get_referencable_terms_from_view($context['field'], $context['instance'], NULL, 0, NULL, FALSE);
         $options = array();
         $options = array_intersect_key($element['#options'], $allowed);
-        $element['#options'] = $options;
-        // Empty options the default term in single select widget
-        if ($element['#type'] == 'select') {
-          $element['#options'] = _term_reference_filter_by_views_array_unshift_assoc($element['#options'], '', t('- None -'));
-        }
-        elseif ($element['#type'] == 'radios') {
-          $element['#options'] = _term_reference_filter_by_views_array_unshift_assoc($element['#options'], '', t('n/a'));
+
+        // add empty option.
+        // @ref options_field_widget_form();
+        $value_key = key($context['field']['columns']);
+        $type = str_replace('options_', '', $context['instance']['widget']['type']);
+        $multiple = $context['field']['cardinality'] > 1 || $context['field']['cardinality'] == FIELD_CARDINALITY_UNLIMITED;
+        $required = $element['#required'];
+        $has_value = isset($context['items'][0][$value_key]);
+        $properties = _options_properties($type, $multiple, $required, $has_value);
+
+        if ($properties['empty_option']) {
+          $label = theme('options_none', array('instance' => $context['instance'], 'option' => $properties['empty_option']));
+          $options = array('_none' => $label) + $options;
         }
+
+        $element['#options'] = $options;
       }
       // for Widgets that uses Autocomplete
       elseif (isset($element['#autocomplete_path']) || isset($element['tid']['#autocomplete_path'])) {
@@ -340,12 +348,3 @@ function term_reference_filter_by_views_views_plugins_alter(&$plugins) {
     $plugins['display']['references_dialog']['handler'] = 'term_reference_references_dialog_plugin_display'; 
   }
 }
-
-/**
- * Array unshift associative
- */
-function _term_reference_filter_by_views_array_unshift_assoc(&$arr, $key, $val) {
-  $arr = array_reverse($arr, TRUE);
-  $arr[$key] = $val;
-  return array_reverse($arr, TRUE);
-}
\ No newline at end of file
