diff --git a/includes/mimemail.admin.inc b/includes/mimemail.admin.inc
index a834ec6..cdb53da 100644
--- a/includes/mimemail.admin.inc
+++ b/includes/mimemail.admin.inc
@@ -71,6 +71,12 @@ function mimemail_admin_settings() {
     '#description'   => t('Gather all style sheets when no mail.css found in the default theme directory.'),
     '#disabled'      => $disable_sitestyle,
   );
+  $form['mimemail']['mimemail_perm'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Profile settings permission'),
+    '#default_value' => variable_get('mimemail_perm', 0),
+    '#description' => t('This option enables permission control for e-mail settings in the user profile.'),
+  );
 
   $filter_format = variable_get('mimemail_format', FILTER_FORMAT_DEFAULT);
   $form['mimemail']['mimemail_format'] =  filter_form($filter_format, NULL, array("mimemail_format"));
diff --git a/mimemail.module b/mimemail.module
index fe93767..a04df0c 100644
--- a/mimemail.module
+++ b/mimemail.module
@@ -31,6 +31,13 @@ function mimemail_menu() {
 }
 
 /**
+ * Implementation of hook_perm().
+ */
+function mimemail_perm() {
+  return array('access profile settings');
+}
+
+/**
  * Implementation of hook_user().
  */
 function mimemail_user($op, &$edit, &$account, $category = '') {
@@ -41,6 +48,7 @@ function mimemail_user($op, &$edit, &$account, $category = '') {
         '#title'         => t('Email settings'),
         '#weight'        => 5,
         '#collapsible' => TRUE,
+        '#access' => variable_get('mimemail_perm', 0) ? user_access('access profile settings') : TRUE,
     );
     $form['mimemail']['mimemail_textonly'] = array(
       '#type'           => 'checkbox',
