diff --git a/modules/pathauto_i18n_node/pathauto_i18n_node.module b/modules/pathauto_i18n_node/pathauto_i18n_node.module
index bf94a41..7630fe2 100644
--- a/modules/pathauto_i18n_node/pathauto_i18n_node.module
+++ b/modules/pathauto_i18n_node/pathauto_i18n_node.module
@@ -8,14 +8,14 @@
  * Implements hook_form_BASE_FORM_ID_alter().
  */
 function pathauto_i18n_form_node_form_alter(&$form, &$form_state) {
-  pathauto_i18n_configuration_form($form, $form_state['node'], 'node');
+  pathauto_i18n_configuration_form($form, $form_state['node'], 'node', $form['#node']->type);
 }
 
 /**
  * Implements hook_node_insert().
  */
 function pathauto_i18n_node_node_insert($node) {
-  pathauto_i18n_init_property($node, 'node');
+  pathauto_i18n_init_property($node, 'node', $node->type);
   pathauto_i18n_process_entity_object($node, 'node', $node->path['pathauto_i18n_status'], 'insert');
 }
 
@@ -23,7 +23,7 @@ function pathauto_i18n_node_node_insert($node) {
  * Implements hook_node_update().
  */
 function pathauto_i18n_node_node_update($node) {
-  pathauto_i18n_init_property($node, 'node');
+  pathauto_i18n_init_property($node, 'node', $node->type);
   pathauto_i18n_process_entity_object($node, 'node', $node->path['pathauto_i18n_status'], 'update');
 }
 
@@ -54,7 +54,7 @@ function pathauto_i18n_node_node_load($nodes, $types) {
         $nodes[$nid]->path['pathauto_i18n_status'] = $settings[$nid];
       }
       else {
-        $nodes[$nid]->path['pathauto_i18n_status'] = 0;
+        $nodes[$nid]->path['pathauto_i18n_status'] = variable_get('pathauto_i18n_default_node_' . $node->type, 1);
       }
     }
   }
@@ -138,7 +138,6 @@ function pathauto_i18n_node_action_info() {
  *
  * @param object $node
  *   A node object.
- *
  * @param array $context
  *   (optional) Array of additional information about what triggered the action.
  *   Not used for this action.
@@ -154,7 +153,6 @@ function pathauto_i18n_node_generate_alias($node, $context = array()) {
  *
  * @param object $node
  *   A node object.
- *
  * @param array $context
  *   (optional) Array of additional information about what triggered the action.
  *   Not used for this action.
@@ -164,3 +162,19 @@ function pathauto_i18n_node_generate_alias($node, $context = array()) {
 function pathauto_i18n_node_remove_alias($node, $context = array()) {
   $node->path['pathauto_i18n_status'] = 0;
 }
+
+/**
+ * Implements hook_form_FORM_ID_alter().
+ *
+ * This will add pathauto_i18n options to the node type form. These settings
+ * will be used as default for every node of this node type.
+ */
+function pathauto_i18n_node_form_node_type_form_alter(&$form, $form_state) {
+  // Add the pathauto i18n form.
+  $form['workflow']['pathauto_i18n_default_node'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Generate automatic URL alias for all languages by default'),
+    '#default_value' => variable_get('pathauto_i18n_default_node_' . $form['#node_type']->type, 1),
+    '#description' => t('Set the default behaviour generating aliases for all available languages.'),
+  );
+}
diff --git a/modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module b/modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module
index 9dcb54d..665ca41 100644
--- a/modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module
+++ b/modules/pathauto_i18n_taxonomy/pathauto_i18n_taxonomy.module
@@ -10,7 +10,7 @@
 function pathauto_i18n_taxonomy_form_taxonomy_form_term_alter(&$form, &$form_state) {
   // Exclude elements from deletion confirm form.
   if ($form['#theme'] != 'confirm_form') {
-    pathauto_i18n_configuration_form($form, $form_state['term'], 'term');
+    pathauto_i18n_configuration_form($form, $form_state['term'], 'term', $form_state['term']->vocabulary_machine_name);
   }
 }
 
@@ -51,7 +51,7 @@ function pathauto_i18n_taxonomy_get_vocabulary_name($pattern_name) {
  * Implements hook_taxonomy_term_insert().
  */
 function pathauto_i18n_taxonomy_taxonomy_term_insert($term) {
-  pathauto_i18n_init_property($term, 'taxonomy');
+  pathauto_i18n_init_property($term, 'taxonomy', $term->vocabulary_machine_name);
   pathauto_i18n_process_entity_object($term, 'taxonomy_term', $term->path['pathauto_i18n_status'], 'insert');
 }
 
@@ -59,7 +59,7 @@ function pathauto_i18n_taxonomy_taxonomy_term_insert($term) {
  * Implements hook_taxonomy_term_update().
  */
 function pathauto_i18n_taxonomy_taxonomy_term_update($term) {
-  pathauto_i18n_init_property($term, 'taxonomy');
+  pathauto_i18n_init_property($term, 'taxonomy', $term->vocabulary_machine_name);
   pathauto_i18n_process_entity_object($term, 'taxonomy_term', $term->path['pathauto_i18n_status'], 'update');
 }
 
diff --git a/modules/pathauto_i18n_user/pathauto_i18n_user.module b/modules/pathauto_i18n_user/pathauto_i18n_user.module
index eb5cd62..bbe022a 100644
--- a/modules/pathauto_i18n_user/pathauto_i18n_user.module
+++ b/modules/pathauto_i18n_user/pathauto_i18n_user.module
@@ -26,7 +26,7 @@ function pathauto_i18n_user_form_pathauto_patterns_form_alter(&$form, &$form_sta
  */
 function pathauto_i18n_user_form_alter(&$form, &$form_state, $form_id) {
   if ($form_id == 'user_register_form' || $form_id == 'user_profile_form') {
-    pathauto_i18n_configuration_form($form, empty($form_state['user']) ? new StdClass() : $form_state['user'], 'user');
+    pathauto_i18n_configuration_form($form, empty($form_state['user']) ? new StdClass() : $form_state['user'], 'user', 'user');
   }
 }
 
@@ -34,7 +34,7 @@ function pathauto_i18n_user_form_alter(&$form, &$form_state, $form_id) {
  * Implements hook_user_insert().
  */
 function pathauto_i18n_user_user_insert(&$edit, $account, $category) {
-  pathauto_i18n_init_property($account, 'user');
+  pathauto_i18n_init_property($account, 'user', 'user');
   pathauto_i18n_process_entity_object($account, 'user', $account->pathauto_i18n_status, 'insert');
 }
 
@@ -42,7 +42,7 @@ function pathauto_i18n_user_user_insert(&$edit, $account, $category) {
  * Implements hook_user_update().
  */
 function pathauto_i18n_user_user_update(&$edit, $account, $category) {
-  pathauto_i18n_init_property($account, 'user');
+  pathauto_i18n_init_property($account, 'user', 'user');
   pathauto_i18n_process_entity_object($account, 'user', $account->pathauto_i18n_status, 'update');
 }
 
diff --git a/pathauto_i18n.module b/pathauto_i18n.module
index ae4b267..af5bbe7 100644
--- a/pathauto_i18n.module
+++ b/pathauto_i18n.module
@@ -61,13 +61,14 @@ function pathauto_i18n_update_alias($entity, $entity_type, $bundle, $op) {
  *
  * @see pathauto_field_attach_form()
  */
-function pathauto_i18n_configuration_form(&$form, $entity, $entity_type) {
+function pathauto_i18n_configuration_form(&$form, $entity, $entity_type, $bundle) {
   if ($entity) {
+    $default = variable_get('pathauto_i18n_default_' . $entity_type . '_' . $bundle, 1);
     $form['path']['pathauto_i18n_status'] = array(
       '#type' => 'checkbox',
       '#title' => t('Generate automatic URL alias for all languages'),
       '#description' => t('Allows you to generate aliases for all available languages.', array('@entity_type' => $entity_type)),
-      '#default_value' => isset($entity->path['pathauto_i18n_status']) ? $entity->path['pathauto_i18n_status'] : 1,
+      '#default_value' => isset($entity->path['pathauto_i18n_status']) ? $entity->path['pathauto_i18n_status'] : $default,
       '#weight' => -0.99,
     );
     if ($entity_type == 'node') {
@@ -222,14 +223,15 @@ function pathauto_i18n_tokens_alter(&$replacements, array $context) {
 /**
  * Init the property.
  */
-function pathauto_i18n_init_property(&$entity, $type) {
+function pathauto_i18n_init_property(&$entity, $type, $bundle) {
+  $default = variable_get('pathauto_i18n_default_' . $type . '_' . $bundle, 1);
   switch ($type) {
     case 'user':
-      $entity->pathauto_i18n_status = isset($entity->pathauto_i18n_status) ? $entity->pathauto_i18n_status : 0;
+      $entity->pathauto_i18n_status = isset($entity->pathauto_i18n_status) ? $entity->pathauto_i18n_status : $default;
       break;
 
     default:
-      $entity->path['pathauto_i18n_status'] = isset($entity->path['pathauto_i18n_status']) ? $entity->path['pathauto_i18n_status'] : 0;
+      $entity->path['pathauto_i18n_status'] = isset($entity->path['pathauto_i18n_status']) ? $entity->path['pathauto_i18n_status'] : $default;
       break;
   }
 }
diff --git a/tests/pathauto_i18n_user.test b/tests/pathauto_i18n_user.test
index e22d885..dd9e62d 100644
--- a/tests/pathauto_i18n_user.test
+++ b/tests/pathauto_i18n_user.test
@@ -44,9 +44,10 @@ class Pathautoi18nUserTest extends Pathautoi18nTest {
    * Test user alias.
    */
   public function testUserAlias() {
+    drupal_static_reset('pathauto_pattern_load_by_entity');
     $this->createUser();
     // Check aliases.
-    $this->drupalGet('admin/config/search/path');
+    $this->drupalGet('admin/config/search/path/list/users');
     foreach ($this->availableLanguges as $language) {
       $alias = $language . '/users/' . $this->title;
       $this->assertText($alias, 0, "Exist alias '$alias' for language '$language'.");
