diff --git a/domain_path.module b/domain_path.module
index cb9a3a8..fbb83f0 100644
--- a/domain_path.module
+++ b/domain_path.module
@@ -10,7 +10,13 @@
  */
 function domain_path_permission() {
   $permissions['edit domain paths'] = array(
-    'title' => t('Set domain-specific path aliases'),
+    'title' => t('Create domain-specific path aliases for all domains'),
+  );
+  $permissions['edit assigned domain paths'] = array(
+    'title' => t('Create domain-specific path aliases for assigned domains'),
+  );
+  $permissions['remove all domain paths'] = array(
+    'title' => t('Remove all domain-specific path aliases per node'),
   );
   return $permissions;
 }
@@ -158,11 +164,24 @@ function domain_path_form_node_form_alter(&$form, $form_state) {
     '#title' => t('Domain-specific paths'),
     '#type' => 'fieldset',
     '#group' => 'additional_settings',
-    '#access' => user_access('edit domain paths'),
+    '#access' => user_access('edit domain paths') || user_access('edit assigned domain paths'),
   );
   $paths = array();
-  $domains = domain_domains();
-  $default_domain = domain_default();
+  $domains = array();
+  if (user_access('edit domain paths')) {
+    $domains = domain_domains();    
+  }
+  else if (user_access('edit assigned domain paths')) {
+    global $user;
+    $user->domain_user = domain_get_user_domains($user);
+    if (!empty($user->domain_user)) {
+      foreach ($user->domain_user as $key => $value) {
+        if (abs($value) > 0) {
+          $domains[$value] = domain_lookup($value, NULL, FALSE);
+        }
+      }
+    }
+  }
   $current = t('<none>');
   if (!empty($form['#node']->nid)) {
     $current = drupal_get_path_alias('node/' . $form['#node']->nid);
@@ -177,6 +196,7 @@ function domain_path_form_node_form_alter(&$form, $form_state) {
     '#type' => 'checkbox',
     '#title' => t('Delete domain-specific aliases'),
     '#default_value' => FALSE,
+    '#access' => user_access('remove all domain paths'),
   );
   foreach ($domains as $domain_id => $domain) {
     $default = '';
@@ -185,7 +205,6 @@ function domain_path_form_node_form_alter(&$form, $form_state) {
       '#type' => 'textfield',
       '#title' => check_plain($domain['path']),
       '#default_value' => isset($paths[$domain_id]) ? $paths[$domain_id] : $default,
-      '#access' => user_access('edit domain paths'),
     );
   }
 }
