diff --git a/pathauto.module b/pathauto.module
index b827bc3..ac02dd6 100644
--- a/pathauto.module
+++ b/pathauto.module
@@ -131,6 +131,17 @@ function pathauto_menu() {
 }
 
 /**
+ * Whether or not alias generation is activated by default given a node type.
+ * This is the default value of the "Generate automatic URL alias" checkbox.
+ *
+ * @param $bundle
+ *   A bundle (e.g. content type, vocabulary ID, etc.)
+ */
+function pathauto_default_load_by_bundle($bundle) {
+  return variable_get("pathauto_{$bundle}_defaultgen", FALSE);
+}
+
+/**
  * Load an URL alias pattern by entity, bundle, and language.
  *
  * @param $entity
@@ -291,17 +302,14 @@ function pathauto_field_attach_form($entity_type, $entity, &$form, &$form_state,
     return;
   }
 
-  if (!isset($entity->path['pathauto'])) {
-    if (!empty($id)) {
-      module_load_include('inc', 'pathauto');
-      $uri = entity_uri($entity_type, $entity);
-      $path = drupal_get_path_alias($uri['path'], $langcode);
-      $pathauto_alias = pathauto_create_alias($entity_type, 'return', $uri['path'], array($entity_type => $entity), $bundle, $langcode);
-      $entity->path['pathauto'] = ($path != $uri['path'] && $path == $pathauto_alias);
-    }
-    else {
-      $entity->path['pathauto'] = TRUE;
-    }
+  $entity->path['pathauto'] = pathauto_default_load_by_bundle($bundle);
+
+  if (!isset($entity->path['pathauto']) && !empty($id)) {
+    module_load_include('inc', 'pathauto');
+    $uri = entity_uri($entity_type, $entity);
+    $path = drupal_get_path_alias($uri['path'], $langcode);
+    $pathauto_alias = pathauto_create_alias($entity_type, 'return', $uri['path'], array($entity_type => $entity), $bundle, $langcode);
+    $entity->path['pathauto'] = ($path != $uri['path'] && $path == $pathauto_alias);
   }
 
   // Add JavaScript that will disable the path textfield when the automatic
