diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html b/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
index c446cbd61b..a86d957322 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
@@ -59,6 +59,7 @@ limitations under the License.
             draft="[[comment.__draft]]"
             show-actions="[[_showActions]]"
             comment-side="[[comment.__commentSide]]"
+            side="[[side]]"
             project-config="[[projectConfig]]"
             on-create-fix-comment="_handleCommentFix"
             on-comment-discard="_handleCommentDiscard"></gr-diff-comment>
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
index aff29162cf..43d7c3e7ac 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.js
@@ -170,7 +170,7 @@
     _eraseDraftComment: function() {
       this.$.storage.eraseDraftComment({
         changeNum: this.changeNum,
-        patchNum: this.patchNum,
+        patchNum: this._getPatchNum(),
         path: this.comment.path,
         line: this.comment.line,
         range: this.comment.range,
@@ -288,7 +288,7 @@
 
         var commentLocation = {
           changeNum: this.changeNum,
-          patchNum: this.patchNum,
+          patchNum: this._getPatchNum(),
           path: this.comment.path,
           line: this.comment.line,
           range: this.comment.range,
@@ -410,6 +410,10 @@
           draft);
     },
 
+    _getPatchNum: function() {
+      return this.side === 'PARENT' ? 'PARENT' : this.patchNum;
+    },
+
     _loadLocalDraft: function(changeNum, patchNum, comment) {
       // Only apply local drafts to comments that haven't been saved
       // remotely, and haven't been given a default message already.
@@ -423,7 +427,7 @@
 
       var draft = this.$.storage.getDraftComment({
         changeNum: changeNum,
-        patchNum: patchNum,
+        patchNum: this._getPatchNum(),
         path: comment.path,
         line: comment.line,
         range: comment.range,
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
index 64be952767..2881fc181e 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment_test.html
@@ -152,6 +152,14 @@ limitations under the License.
       });
     });
 
+    test('_getPatchNum', function() {
+      element.side = 'PARENT';
+      element.patchNum = 1;
+      assert.equal(element._getPatchNum(), 'PARENT');
+      element.side = 'REVISION';
+      assert.equal(element._getPatchNum(), 1);
+    });
+
     test('comment expand and collapse', function() {
       element.collapsed = true;
       assert.isFalse(isVisible(element.$$('gr-formatted-text')),