diff --git a/project.install b/project.install
index b1a86d0..fa591b8 100644
--- a/project.install
+++ b/project.install
@@ -6,6 +6,13 @@
 function project_install() {
   require_once(dirname(__FILE__) . '/includes/project_node_type.inc');
   $t = get_t();
+  
+  /**
+   * Sets pathauto if the module has been enabled.
+   */
+   if (module_exists('pathauto')) {
+     variable_set('pathauto_node_project_pattern', "project/[node:field_project_machine_name]");
+   }
 
   /**
    * Set up project-specific field for project type.
diff --git a/project.module b/project.module
index 72d30e5..73488b0 100644
--- a/project.module
+++ b/project.module
@@ -180,16 +180,22 @@ function project_theme() {
  */
 function project_node_insert($node) {
   if (project_node_is_project($node)) {
+  if (!module_exists('pathauto') && $node->path['alias'] == '') {
+    project_create_node_alias($node);
+  }
     $perms = array_fill_keys(array_keys(project_permission_load($node)), 1);
     project_maintainer_save($node->nid, $node->uid, $perms);
   }
 }
 
 /**
- * Implements hook_node_insert().
+ * Implements hook_node_update().
  */
 function project_node_update($node) {
   if (project_node_is_project($node)) {
+  if (!module_exists('pathauto') && $node->path['alias'] == '') {
+    project_create_node_alias($node);
+  }
     $perms = array_fill_keys(array_keys(project_permission_load($node)), 1);
     project_maintainer_save($node->nid, $node->uid, $perms);
   }
@@ -397,3 +403,29 @@ function project_maintainer_project_load($nid) {
 
   return $maintainers;
 }
+
+/**
+ * Implements hook_modules_installed.
+ *
+ * @param $modules
+ *   An array of modules that have been installed.
+ *
+ * @see hook_modules_installed().
+ */
+function project_modules_installed($modules) {
+  if(in_array('pathauto', $modules)) {
+    variable_set('pathauto_node_project_pattern', "project/[node:field_project_machine_name]");
+  }
+}
+
+/**
+ * Sets the path of the node if pathauto is not.
+ *
+ * @param $node
+ *   A fully-formed node-object.
+ */
+function project_create_node_alias($node) {
+  $path = $node->path;
+  $path['alias'] = "project/" . $node->field_project_machine_name['und'][0]['value'];
+  path_save($path);
+}
\ No newline at end of file
