diff --git a/lang_dropdown.module b/lang_dropdown.module
index 48f38ec..d997ac0 100644
--- a/lang_dropdown.module
+++ b/lang_dropdown.module
@@ -171,7 +171,7 @@ function lang_dropdown_block_view($type) {
  */
 function lang_dropdown_form($form, &$form_state, $languages) {
 
-  global $language_url;
+  global $language;
 
   $settings = _lang_dropdown_get_settings();
 
@@ -180,6 +180,8 @@ function lang_dropdown_form($form, &$form_state, $languages) {
   $options = $js_settings = $hidden_elements = array();
   $selected_option_language_icon = '';
 
+  $language_names = locale_language_list();
+
   // Support Domain access
   if ($domain_locale_exists = module_exists('domain_locale')) {
     global $_domain;
@@ -196,12 +198,12 @@ function lang_dropdown_form($form, &$form_state, $languages) {
     if (!isset($lang_options['href']) && (!$settings['showall'])) continue;
 
     // Build the options in an assosiative array, so it will be ready for #options in select form element.
-    $options += array($lang_code => $lang_options['language']->native);
+    $options += array($lang_code => $language_names[$lang_code]);
 
     // Set the selected option to be ready for #default_value in select form element.
     if (isset($lang_options['href'])
 && ($lang_options['href'] == $_GET['q'] || ($lang_options['href'] == '<front>' && drupal_is_front_page()))
-&& (empty($lang_options['language']) || $lang_options['language']->language == $language_url->language)) {
+&& (empty($lang_options['language']) || $lang_options['language']->language == $language->language)) {
 
       $selected_option = $lang_code;
 
@@ -209,7 +211,7 @@ function lang_dropdown_form($form, &$form_state, $languages) {
       if (module_exists('languageicons') && !$settings['js_widget']) {
         $selected_option_language_icon = theme('languageicons_icon', array(
           'language' => $lang_options['language'],
-          'title' => $lang_options['language']->native,
+          'title' => $language_names[$lang_code],
         ));
       }
 
