diff --git a/includes/comment.inc b/includes/comment.inc
index 84d46ae..7c99bdd 100644
--- a/includes/comment.inc
+++ b/includes/comment.inc
@@ -48,6 +48,8 @@ function project_issue_comment(&$arg, $op) {
         db_query("INSERT INTO {project_issue_comments} (nid, cid, pid, rid, component, category, priority, assigned, sid, title, timestamp, comment_number) VALUES (%d, %d, %d, %d, '%s', '%s', %d, %d, %d, '%s', %d, %d)", $arg['nid'], $arg['cid'], $arg['project_info']['pid'], $rid, $arg['project_info']['component'], $arg['category'], $arg['priority'], $arg['project_info']['assigned'], $arg['sid'], $arg['title'], $arg['timestamp'], $id);
         db_query("UPDATE {comments} SET subject = '%s' WHERE cid = %d", "#$id", $arg['cid']);
         project_issue_update_by_comment($arg, 'insert');
+        // Auto-flag the issue for the user.
+        project_issue_flag_issue($arg['nid'], $arg['uid']);
         $affected_projects[$old_data->pid] = 1;
         $affected_projects[$arg['project_info']['pid']] = 1;
       }
diff --git a/includes/issue_node_form.inc b/includes/issue_node_form.inc
index f02c119..ee78e01 100644
--- a/includes/issue_node_form.inc
+++ b/includes/issue_node_form.inc
@@ -482,6 +482,9 @@ function _project_issue_insert($node) {
 
   db_query("INSERT INTO {project_issues} (nid, pid, category, component, priority, rid, assigned, sid, original_issue_data, last_comment_id, db_lock, priority_weight) VALUES (%d, %d, '%s', '%s', %d, %d, %d, %d, '%s', %d, %d, %d)", $node->nid, $node->pid, $node->category, $node->component, $node->priority, $node->rid, $node->assigned, $node->sid, serialize($original_issue_data), 0, 0, $priority_weight);
 
+  // Auto-flag the issue for the user.
+  project_issue_flag_issue($node->nid, $node->uid);
+
   // Invalidate the "Issue cockpit" block cache for this project, since the
   // new issue will have altered the summary totals.
   // Block could be cached for different permissions, try both.
diff --git a/project_issue.module b/project_issue.module
index 7c57e27..e96a9aa 100644
--- a/project_issue.module
+++ b/project_issue.module
@@ -2056,6 +2056,33 @@ function project_issue_block($op = 'list', $delta = 0, $edit = array()) {
 }
 
 /**
+ * Adds the project issue follow flag to a node for a user.
+ *
+ * @param nid
+ *   The nid of the issue to flag.
+ * @param uid
+ *   The user to add the flag for, defaults to the current user.
+ */
+function project_issue_flag_issue($nid, $uid = NULL) {
+  // Flagging an issue only needs to happen if:
+  //  - flag is installed
+  //  - tracker2 is not installed (tracker2 already handles auto-flagging,
+  //    and it's a performance hit to try and flag a node again.)
+  if ($flag = project_issue_get_follow_flag() && !module_exists('tracker2')) {
+    if (!isset($uid)) {
+      $account = $GLOBALS['user'];
+    }
+    else {
+      $account = user_load($uid);
+    }
+    // Only authorized users get issues flagged.
+    if (is_object($account) && $account->uid != 0) {
+      flag('flag', $flag, $nid, $account);
+    }
+  }
+}
+
+/**
  * Provide a list of keys Homebox will store.
  */
 function project_issue_homebox_block_keys($block) {
