diff --git a/seo_ui.module b/seo_ui.module
index aa245fd..4441dee 100644
--- a/seo_ui.module
+++ b/seo_ui.module
@@ -150,7 +150,7 @@ function seo_ui_node_presave($node) {
  * Metatag node alters.
  */
 function _seo_ui_alter_metatags(&$form, $form_state, $form_id) {
-  if (module_exists('metatag')) {
+  if (module_exists('metatag') && user_access('edit meta tags')) {
     // Remove unwanted properties.
     unset($form['metatags']['#attached']['js']);
     // Add the new tab to the vertical SEO tab if it exists.
@@ -179,14 +179,16 @@ function _seo_ui_alter_metatags(&$form, $form_state, $form_id) {
       if (isset($link)) {
         // Traverse the metatags form array and alter the descriptions
         // to link back to metatags module default settings.
-        _seo_ui_fix_metatag_descriptions($form['metatags'], $link);
+        _seo_ui_fix_metatag_descriptions($form['metatags'][$form_state['node']->language], $link);
       }
 
       // Move the Available Tokens fieldset into the main SEO vertical tab.
-      $form['seo_vtab']['token_group'] = $form['metatags']['token_group'];
-      // sink it to the bottom
-      $form['seo_vtab']['token_group']['#weight'] = 100;
-      unset($form['metatags']['token_group']);
+      if (isset($form['metatags']['token_group'])) {
+        $form['seo_vtab']['token_group'] = $form['metatags']['token_group'];
+        // sink it to the bottom
+        $form['seo_vtab']['token_group']['#weight'] = 100;
+        unset($form['metatags']['token_group']);
+      }
 
       // Move the form.
       $form['seo_vtab']['metatags'] = $form['metatags'];
@@ -194,7 +196,8 @@ function _seo_ui_alter_metatags(&$form, $form_state, $form_id) {
       // Remove the default submit handler since it fails after we alter the
       // form by moving metatags form around.  Add our own handler that does the
       // same as the original did.
-      if ($metasubmit = array_search('metatag_metatags_form_submit', $form['#submit'])) {
+      $metasubmit = array_search('metatag_metatags_form_submit', $form['#submit']);
+      if ($metasubmit !== FALSE) {
         unset($form['#submit'][$metasubmit]);
         $form['#submit'][] = '_seo_ui_alter_metatags_submit';
       }
@@ -207,10 +210,10 @@ function _seo_ui_alter_metatags(&$form, $form_state, $form_id) {
         '#collapsed' => TRUE,
       );
       // Assign the metatags title to our new metatags_title fieldset
-      $form['seo_vtab']['metatags_title']['title'] = $form['metatags']['title'];
+      $form['seo_vtab']['metatags_title']['title'] = $form['metatags'][$form_state['node']->language]['basic']['title'];
 
       // Unset the metatags form title from it's original location
-      unset($form['seo_vtab']['metatags']['title']);
+      unset($form['seo_vtab']['metatags'][$form_state['node']->language]['basic']['title']);
 
       // Unset the original metatags form
       unset($form['metatags']);
@@ -229,7 +232,7 @@ function _seo_ui_fix_metatag_descriptions(&$element, $link){
       if($key == 'advanced'){
         _seo_ui_fix_metatag_descriptions($element[$key], $link);
       }
-      $element[$key]['value']['#description'] =  $element[$key]['value']['#description'] . ' ' . t('Override this !default_settings. ', array('!default_settings' => l('default setting', $link)));
+      $element[$key]['value']['#description'] = ((!empty($element[$key]['value']['#description'])) ? $element[$key]['value']['#description'] . ' ' :  '') . t('Override this !default_settings. ', array('!default_settings' => l('default setting', $link)));
     }
   }
 }
@@ -239,10 +242,11 @@ function _seo_ui_fix_metatag_descriptions(&$element, $link){
  */
 function _seo_ui_alter_metatags_submit($form, &$form_state){
   $values = array();
-  $defaults = $form['seo_vtab']['metatags']['#metatag_defaults'];
+  $lang = $form['seo_vtab']['metatags']['#language'];
+  $defaults = $form['seo_vtab']['metatags'][$lang]['#metatag_defaults'];
   // Populate the values of the metatag title from the form
-  $form_state['values']['metatags']['title']['value'] = $form['seo_vtab']['metatags_title']['title']['value']['#value'];
-  $values = &$form_state['values']['metatags'];
+  $form_state['values']['metatags'][$lang]['title']['value'] = $form['seo_vtab']['metatags_title']['title']['value']['#value'];
+  $values = &$form_state['values']['metatags'][$lang];
   metatag_filter_values_from_defaults($values, $defaults);
 }
 
