diff --git a/domain.admin.inc b/domain.admin.inc
index 454ea4c..515c3d3 100644
--- a/domain.admin.inc
+++ b/domain.admin.inc
@@ -663,40 +663,6 @@ function domain_delete_form_submit($form, &$form_state) {
 }
 
 /**
- * Implement domain_advanced_form.
- *
- * @param $form
- *   The current form, passed by FormsAPI.
- * @param $form_state
- *   The current form state, passed by FormsAPI.
- */
-function domain_advanced_form($form, &$form_state) {
-  $form = array();
-  // Some editors will not have full node editing permissions.  This allows us
-  // to give selected permissions for nodes within the editor's domain.
-  $form['domain_form'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Domain node editing'),
-    '#collapsible' => TRUE
-  );
-  $form['domain_form']['intro'] = array('#value' => t('<p>When editors view domain-access restricted nodes, which form elements should be exposed?</p>'));
-  $options = array(
-    'log' => t('Log messages'),
-    'options' => t('Publishing options'),
-    'comment_settings' => t('Comment settings'),
-    'path' => t('Path aliasing'),
-  );
-  ksort($options);
-  $form['domain_form']['domain_form_elements'] = array(
-    '#type' => 'checkboxes',
-    '#default_value' => variable_get('domain_form_elements', array('options', 'delete', 'comment_settings', 'path')),
-    '#options' => $options,
-    '#description' => t('Some elements may not be editable for all users due to permission restrictions.'),
-  );
-  return system_settings_form($form);
-}
-
-/**
  * Allows for the batch update of certain elements.
  *
  * @param $action
diff --git a/domain.install b/domain.install
index f474f16..bc2591c 100644
--- a/domain.install
+++ b/domain.install
@@ -88,7 +88,6 @@ function domain_uninstall() {
     'domain_default_source',
     'domain_edit_on_primary',
     'domain_force_admin',
-    'domain_form_elements',
     'domain_grant_all',
     'domain_list_size',
     'domain_paths',
@@ -427,3 +426,10 @@ function domain_update_7309(&$sandbox) {
 function domain_update_7310(&$sandbox) {
   node_access_rebuild(TRUE);
 }
+
+/**
+ * Removes deprecated setting 'domain_form_elements'.
+ */
+function domain_update_7311(&$sandbox) {
+  variable_del('domain_form_elements');
+}
diff --git a/domain_content/domain_content.admin.inc b/domain_content/domain_content.admin.inc
index c8c3e9d..f3ce5c4 100644
--- a/domain_content/domain_content.admin.inc
+++ b/domain_content/domain_content.admin.inc
@@ -221,11 +221,24 @@ function domain_content_form() {
     '#type' => 'fieldset',
     '#title' => t('Update options'),
     '#attributes' => array('class' => array('container-inline')),
-    '#access' => $admin_access,
   );
   $options = array();
-  foreach (module_invoke_all('node_operations') as $operation => $array) {
-    $options[$operation] = $array['label'];
+  // Get the actions the user may perform.
+  if ($admin_access) {
+    foreach (module_invoke_all('node_operations') as $operation => $array) {
+      $options[$operation] = $array['label'];
+    }
+  }
+  // Otherwise, only allow domain content module operations.
+  else {
+    $list = domain_content_node_operations();
+    foreach ($list as $key => $value) {
+      $options[$key] = $value['label'];
+    }
+  }
+  // No options? No form access.
+  if (empty($options)) {
+    $form['options']['#access'] = FALSE;
   }
   $form['options']['operation'] = array(
     '#type' => 'select',
@@ -435,7 +448,6 @@ function domain_content_view_domains($node) {
  *   No return value. Modify by reference.
  */
 function domain_content_filter_operations(&$operations) {
-  $settings = variable_get('domain_form_elements', array('options', 'delete', 'comment_settings', 'path'));
   // Administer nodes can do anything.
   if (user_access('administer nodes')) {
     return;
@@ -444,15 +456,6 @@ function domain_content_filter_operations(&$operations) {
   if (!user_access('delete domain content')) {
     unset($operations['delete']);
   }
-  // The publish, promote and sticky operations all depend on having $settings['options'].
-  if (!in_array('options', array_filter($settings))) {
-    unset($operations['publish']);
-    unset($operations['unpublish']);
-    unset($operations['promote']);
-    unset($operations['demote']);
-    unset($operations['sticky']);
-    unset($operations['unsticky']);
-  }
 }
 
 /**
diff --git a/domain_content/domain_content.module b/domain_content/domain_content.module
index 12f9706..99070bf 100644
--- a/domain_content/domain_content.module
+++ b/domain_content/domain_content.module
@@ -155,6 +155,7 @@ function domain_content_node_operations() {
     );
     return $operations;
   }
+  return array();
 }
 
 /**
