diff --git a/metatag.module b/metatag.module
index 4ba70a4..9cae299 100644
--- a/metatag.module
+++ b/metatag.module
@@ -898,7 +898,7 @@ function metatag_metatags_form(array &$form, $instance, array $metatags = array(
 
     // Optional extended edit permissions.
     if (variable_get('metatag_extended_permissions', FALSE)) {
-      $metatag_form['#access'] = user_access('edit meta tag: ' . $metatag_name) || user_access('administer meta tags');
+      $metatag_form['#access'] = user_access('edit meta tag: ' . $metatag_info['label']) || user_access('administer meta tags');
     }
 
     if (!empty($metatag_info['group'])) {
@@ -914,11 +914,17 @@ function metatag_metatags_form(array &$form, $instance, array $metatags = array(
         );
       }
       $form['metatags'][$group_key][$metatag] = $metatag_form + array('#parents' => array('metatags', $metatag));
+      
+      if (variable_get('metatag_extended_permissions', FALSE)) {
+        $form['metatags'][$group_key]['#access'] = count(element_get_visible_children($form['metatags'][$group_key])) > 0;
+      }
     }
     else {
       $form['metatags'][$metatag] = $metatag_form;
     }
   }
+  
+  $form['metatags']['#access'] = count(element_get_visible_children($form['metatags'])) > 0;
 
   // Show the list of available tokens.
   $form['metatags']['tokens'] = array(
