diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/PostVerification.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/PostVerification.java
index 4cee0af..8198981 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/PostVerification.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/PostVerification.java
@@ -126,6 +126,9 @@
         if (Boolean.TRUE.equals(ent.getValue().abstain)) {
           c.setAbstain(true);
         }
+        if (Boolean.TRUE.equals(ent.getValue().rerun)) {
+          c.setRerun(true);
+        }
         String url = ent.getValue().url;
         if (url != null) {
           c.setUrl(url);
@@ -161,6 +164,7 @@
                 new LabelId(job_id)),
             value, ts);
         c.setAbstain(ent.getValue().abstain);
+        c.setRerun(ent.getValue().rerun);
         c.setUrl(ent.getValue().url);
         c.setName(name);
         c.setReporter(ent.getValue().reporter);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/SaveCommand.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/SaveCommand.java
index b8de4ba..b2da1de 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/SaveCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/SaveCommand.java
@@ -114,10 +114,12 @@
     checkArgument(value != null, "Verification is missing a value");
     checkArgument(!value.isEmpty(), "Verification is missing a value");
     String abstain = params.get("abstain");
+    String rerun = params.get("rerun");
     VerificationInfo data = new VerificationInfo();
     data.name = name;
     data.value = Short.parseShort(value);
     data.abstain = Boolean.valueOf(abstain);
+    data.rerun = Boolean.valueOf(rerun);
     data.url = params.get("url");
     data.reporter = params.get("reporter");
     data.comment = params.get("comment");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsDropDownPanel.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsDropDownPanel.java
index 9fd378f..e3a9e31 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsDropDownPanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsDropDownPanel.java
@@ -99,6 +99,11 @@
         img.setTitle("non voting");
         p.add(img);
       }
+      if (jobs.get(key).rerun()) {
+        Image img = new Image(VerifyStatusPlugin.RESOURCES.rerun());
+        img.setTitle("re-run");
+        p.add(img);
+      }
       grid.setWidget(row, 1, p);
       InlineLabel catLabel = new InlineLabel(jobs.get(key).category());
       catLabel.setTitle("category");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsPanel.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsPanel.java
index 727da7f..81465b1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsPanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsPanel.java
@@ -95,9 +95,9 @@
           new InlineLabel(" (" + jobs.get(key).duration() + ")");
       label.setTitle("duration");
       p.add(label);
-      if (jobs.get(key).category() == "recheck") {
+      if (jobs.get(key).rerun()) {
         Image img = new Image(VerifyStatusPlugin.RESOURCES.rerun());
-        img.setTitle("recheck");
+        img.setTitle("re-run");
         p.add(img);
       }
       if (jobs.get(key).abstain()) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsScreen.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsScreen.java
index 508ed1a..37aa615 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/JobsScreen.java
@@ -75,9 +75,10 @@
     t.setText(0, 1, "Name");
     t.setText(0, 2, "Duration");
     t.setText(0, 3, "Voting");
-    t.setText(0, 4, "Category");
-    t.setText(0, 5, "Reporter");
-    t.setText(0, 6, "Date");
+    t.setText(0, 4, "Rerun");
+    t.setText(0, 5, "Category");
+    t.setText(0, 6, "Reporter");
+    t.setText(0, 7, "Date");
 
     int row = 1;
     for (String key : jobs.keySet()) {
@@ -104,10 +105,15 @@
       } else {
         t.setText(row, 3, "voting");
       }
+      if (vi.rerun()) {
+        t.setText(row, 4, "Y");
+      } else {
+        t.setText(row, 4, "N");
+      }
 
-      t.setText(row, 4, vi.category());
-      t.setText(row, 5, vi.reporter());
-      t.setText(row, 6, FormatUtil.shortFormat(vi.granted()));
+      t.setText(row, 5, vi.category());
+      t.setText(row, 6, vi.reporter());
+      t.setText(row, 7, FormatUtil.shortFormat(vi.granted()));
       row++;
     }
     add(t);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/VerificationInfo.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/VerificationInfo.java
index a3b3b17..958bdd7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/VerificationInfo.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/client/VerificationInfo.java
@@ -12,6 +12,7 @@
   public final native String comment() /*-{ return this.comment; }-*/;
   public final native short value() /*-{ return this.value; }-*/;
   public final native boolean abstain() /*-{ return this.abstain || false; }-*/;
+  public final native boolean rerun() /*-{ return this.rerun || false; }-*/;
   public final native String category() /*-{ return this.category; }-*/;
   public final native String duration() /*-{ return this.duration; }-*/;
   public final native String reporter() /*-{ return this.reporter; }-*/;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/common/VerificationInfo.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/common/VerificationInfo.java
index d280fa0..52385a8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/common/VerificationInfo.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/common/VerificationInfo.java
@@ -21,6 +21,7 @@
   public String url;
   public Short value;
   public boolean abstain;
+  public boolean rerun;
   public String reporter;
   public String comment;
   public Timestamp granted;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/GetVerifications.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/GetVerifications.java
index 42be9b2..6e1e59c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/GetVerifications.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/GetVerifications.java
@@ -61,6 +61,7 @@
     VerificationInfo info = new VerificationInfo();
     info.value = v.getValue();
     info.abstain = v.getAbstain();
+    info.rerun = v.getRerun();
     info.url = v.getUrl();
     info.name = v.getName();
     info.reporter = v.getReporter();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/PatchSetVerification.java b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/PatchSetVerification.java
index 58f9735..4801321 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/PatchSetVerification.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/verifystatus/server/PatchSetVerification.java
@@ -88,6 +88,9 @@
   @Column(id = 10, notNull = false, length = 255)
   protected String name;
 
+  @Column(id = 11)
+  protected boolean rerun;
+
   protected PatchSetVerification() {
   }
 
@@ -126,6 +129,14 @@
     abstain = a;
   }
 
+  public boolean getRerun() {
+    return rerun;
+  }
+
+  public void setRerun(boolean r) {
+    rerun = r;
+  }
+
   public Timestamp getGranted() {
     return granted;
   }
diff --git a/src/main/resources/Documentation/rest-api-changes.md b/src/main/resources/Documentation/rest-api-changes.md
index 43a6143..7f9ea18 100644
--- a/src/main/resources/Documentation/rest-api-changes.md
+++ b/src/main/resources/Documentation/rest-api-changes.md
@@ -210,6 +210,7 @@
 |name        |required|The name of this job|
 |value       |required|The pass/fail result for this job|
 |abstain     |optional|Whether the value counts as a vote (defaults to false)|
+|rerun       |optional|Whether this result is from a re-test on the same patchset|
 |comment     |optional|A short comment about this job|
 |url         |optional|The url link to more info about this job|
 |reporter    |optional|The user that verified this job|
@@ -217,10 +218,6 @@
 |duration    |optional|The time it took to run this job|
 
 
-*__Notice__: There is a special category called 'recheck' that indicates that
-the job was a rerun on the same patchset.  An icon will appear on the change
-screen for these jobs.
-
 ### <a id="revision-info"></a>RevisionInfo
 
 The `RevisionInfo` entity contains information about a patch set.
@@ -242,6 +239,7 @@
 |name       |The name of this job|
 |value      |The pass/fail result for this job|
 |abstain    |Whether the value counts as a vote|
+|rerun      |Whether this result is from a re-test on the same patchset|
 |comment    |A short comment about this job|
 |url        |The url link to more info about this job|
 |reporter   |The user that verified this job|
diff --git a/src/test/java/com/googlesource/gerrit/plugins/verifystatus/VerifyStatusIT.java b/src/test/java/com/googlesource/gerrit/plugins/verifystatus/VerifyStatusIT.java
index 0550ffd..df879e6 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/verifystatus/VerifyStatusIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/verifystatus/VerifyStatusIT.java
@@ -48,6 +48,7 @@
       "CATEGORY     VARCHAR(255)," +
       "DURATION     VARCHAR(255)," +
       "ABSTAIN      CHAR(1) DEFAULT 'N' NOT NULL," +
+      "RERUN        CHAR(1) DEFAULT 'N' NOT NULL," +
       "NAME         VARCHAR(255)," +
       "CHANGE_ID    INTEGER DEFAULT 0 NOT NULL," +
       "PATCH_SET_ID INTEGER DEFAULT 0 NOT NULL," +
@@ -94,6 +95,7 @@
     i.name = "job42";
     i.value = 1;
     i.reporter = "zuul@openstack.org";
+    i.rerun = true;
     i.comment = "Test CI";
     i.url = "url";
     i.category = "bar";
@@ -170,5 +172,6 @@
     assertThat(r.url).isEqualTo(e.url);
     assertThat(r.category).isEqualTo(e.category);
     assertThat(r.duration).isEqualTo(e.duration);
+    assertThat(r.rerun).isEqualTo(e.rerun);
   }
 }
