diff --git a/dreditor.user.js b/dreditor.user.js
index d4176cb..815d18f 100644
--- a/dreditor.user.js
+++ b/dreditor.user.js
@@ -1284,6 +1284,56 @@ Drupal.dreditor.patchReview.behaviors.toggleDeletions = function (context) {
  */
 
 /**
+ * Issue summary AJAX editor.
+ */
+Drupal.behaviors.dreditorIssueSummary = function (context) {
+  // Limit to project_issue node view page.
+  $('#project-summary-container').once('dreditor-issue-summary', function () {
+    // Clone "Edit" link after "Issue summary" title.
+    var $edit_wrapper = $('<small class="admin-link"> [ <span></span> ] </small>');
+    var $edit_link = $('#tabs a:contains("Edit")').clone();
+    $edit_wrapper.find('span').append($edit_link);
+    $edit_wrapper.appendTo($(this).parent().find('h2:first'));
+    var $widget = $('<div id="dreditor-issue-summary-widget"></div>').insertAfter(this);
+    $edit_link.click(function () {
+      // First of all, remove this link.
+      $edit_wrapper.remove();
+      // Retrieve the node edit form.
+      $.get(this.href, function (data) {
+        var $data = $(data);
+        $widget.append($data.find('div.help'));
+        $widget.append($data.find('#node-form'));
+        // Clean up.
+        // Remove messages; contains needless info.
+        $widget.find('div.messages.status.site').remove();
+        // That info about issue fields in .standard .standard thingy, too.
+        $widget.find('div.node-form > div.standard > div.standard').remove();
+        // Hide node admin fieldsets; removing these would result in nodes being
+        // unpublished and author being changed to Anonymous on submit.
+        $widget.find('div.admin').hide();
+        // Flatten issue summary, input format, and revision info fielsets.
+        // Blatantly remove all other fieldsets. :)
+        $widget.find('fieldset')
+          .not(':has(#edit-body)')
+          .not(':has(.tips)')
+          .not(':has(#edit-log)')
+          .removeClass('collapsible').hide();
+        // Visually remove top-level fieldsets.
+        $widget.find('div.standard > fieldset').removeClass('collapsible').addClass('fieldset-flat');
+        // Remove "Preview changes" and "Delete" buttons.
+        $widget.find('#edit-preview-changes').remove();
+        $widget.find('#edit-delete').remove();
+        // Sorry, no support for "Preview" yet.
+        $widget.find('#edit-preview').remove();
+        // Lastly, attach behaviors.
+        Drupal.attachBehaviors($widget.get(0));
+      }, 'html');
+      return false;
+    });
+  });
+};
+
+/**
  * Streamline issue comment form.
  *
  * Altering of the form makes certain browsers (such as Firefox) no longer find
