diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ChangeUpdatedListener.java b/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ChangeUpdatedListener.java
index 3b5156f..ba028ca 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ChangeUpdatedListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ChangeUpdatedListener.java
@@ -86,16 +86,12 @@
     Project.NameKey projectName = e.getProjectNameKey();
 
     int maxReviewers;
-    boolean ignoreDrafts;
     String ignoreSubjectRegEx;
     String ignoreFileRegEx;
     try {
       maxReviewers =
           cfg.getFromProjectConfigWithInheritance(projectName, pluginName)
               .getInt("maxReviewers", 3);
-      ignoreDrafts =
-          cfg.getFromProjectConfigWithInheritance(projectName, pluginName)
-              .getBoolean("ignoreDrafts", false);
       ignoreSubjectRegEx =
           cfg.getFromProjectConfigWithInheritance(projectName, pluginName)
               .getString("ignoreSubjectRegEx", "");
@@ -122,10 +118,6 @@
         return;
       }
 
-      if (ignoreDrafts && ps.isDraft()) {
-        return;
-      }
-
       final Change change = reviewDb.changes().get(psId.getParentKey());
       if (change == null) {
         log.warn("Change " + changeId.get() + " not found.");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ReviewersByBlameModule.java b/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ReviewersByBlameModule.java
index 8a08c0c..92aba85 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ReviewersByBlameModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewersbyblame/ReviewersByBlameModule.java
@@ -35,11 +35,6 @@
                 "The maximum number of reviewers that should be automatically added"
                     + " to a change based on the git blame computation on the changed files."));
     bind(ProjectConfigEntry.class)
-        .annotatedWith(Exports.named("ignoreDrafts"))
-        .toInstance(
-            new ProjectConfigEntry(
-                "Ignore Drafts", false, "Ignore draft commits when adding reviewers"));
-    bind(ProjectConfigEntry.class)
         .annotatedWith(Exports.named("ignoreSubjectRegEx"))
         .toInstance(
             new ProjectConfigEntry(
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index a0ceb1d..a68bf58 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -11,7 +11,6 @@
 ```
   [plugin "reviewers-by-blame"]
     maxReviewers = 2
-    ignoreDrafts = true
     ignoreSubjectRegEx = WIP(.*)
 ```
 
@@ -21,12 +20,6 @@
 
 	By default 3.
 
-
-plugin.reviewers-by-blame.ignoreDrafts
-:	Ignore draft commits when adding reviewers.
-
-	By default false.
-
 plugin.reviewers-by-blame.ignoreFileRegEx
 :	Ignore files where the filename matches the given regular expression when
 	computing the reviewers. If empty or not set, no files are ignored.
