diff --git a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifier.java b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifier.java
index a56c431d9..40c9eedf2 100644
--- a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifier.java
+++ b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifier.java
@@ -66,6 +66,9 @@ class IssueNotifier implements Notifier, PullRequestListener, RepositoryListener
     // repository but still generate links to the original. Only works for notifications
     // on repository, not pull requests.
     private final HostedRepository originalRepository;
+    // Controls whether the notifier should try to resolve issues. Only valid when
+    // pronly is true.
+    private final boolean resolve;
 
     private final Logger log = Logger.getLogger("org.openjdk.skara.bots.notify");
 
@@ -75,7 +78,7 @@ class IssueNotifier implements Notifier, PullRequestListener, RepositoryListener
                   boolean setFixVersion, Map<String, String> fixVersions, Map<String, List<String>> altFixVersions,
                   JbsBackport jbsBackport, boolean prOnly, boolean repoOnly, String buildName,
                   HostedRepository censusRepository, String censusRef, String namespace, boolean useHeadVersion,
-                  HostedRepository originalRepository) {
+                  HostedRepository originalRepository, boolean resolve) {
         this.issueProject = issueProject;
         this.reviewLink = reviewLink;
         this.reviewIcon = reviewIcon;
@@ -93,6 +96,7 @@ class IssueNotifier implements Notifier, PullRequestListener, RepositoryListener
         this.namespace = namespace;
         this.useHeadVersion = useHeadVersion;
         this.originalRepository = originalRepository;
+        this.resolve = resolve;
     }
 
     static IssueNotifierBuilder newBuilder() {
@@ -176,7 +180,7 @@ public void onIntegratedPullRequest(PullRequest pr, Path scratchPath, Hash hash)
             }
 
             // If prOnly is false, this is instead done when processing commits
-            if (prOnly) {
+            if (prOnly && resolve) {
                 if (issue.state() == Issue.State.OPEN) {
                     issue.setState(Issue.State.RESOLVED);
                     if (issue.assignees().isEmpty()) {
diff --git a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierBuilder.java b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierBuilder.java
index 62ec6ce17..dfb0c300e 100644
--- a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierBuilder.java
+++ b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierBuilder.java
@@ -46,6 +46,7 @@ class IssueNotifierBuilder {
     private String namespace = "openjdk.org";
     private boolean useHeadVersion = false;
     private HostedRepository originalRepository;
+    private boolean resolve = true;
 
     IssueNotifierBuilder issueProject(IssueProject issueProject) {
         this.issueProject = issueProject;
@@ -133,10 +134,24 @@ public IssueNotifierBuilder originalRepository(HostedRepository originalReposito
         return this;
     }
 
+    public IssueNotifierBuilder resolve(boolean resolve) {
+        this.resolve = resolve;
+        return this;
+    }
+
+    public boolean prOnly() {
+        return prOnly;
+    }
+
+    public boolean resolve() {
+        return resolve;
+    }
+
     IssueNotifier build() {
         var jbsBackport = new JbsBackport(issueProject.issueTracker().uri(), vault);
         return new IssueNotifier(issueProject, reviewLink, reviewIcon, commitLink, commitIcon,
                 setFixVersion, fixVersions, altFixVersions, jbsBackport, prOnly,
-                repoOnly, buildName, censusRepository, censusRef, namespace, useHeadVersion, originalRepository);
+                repoOnly, buildName, censusRepository, censusRef, namespace, useHeadVersion, originalRepository,
+                resolve);
     }
 }
diff --git a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierFactory.java b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierFactory.java
index 9f5abced3..a242f149c 100644
--- a/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierFactory.java
+++ b/bots/notify/src/main/java/org/openjdk/skara/bots/notify/issue/IssueNotifierFactory.java
@@ -96,6 +96,13 @@ public Notifier create(BotConfiguration botConfiguration, JSONObject notifierCon
             builder.prOnly(notifierConfiguration.get("pronly").asBoolean());
         }
 
+        if (notifierConfiguration.contains("resolve")) {
+            builder.resolve(notifierConfiguration.get("resolve").asBoolean());
+            if (!builder.resolve() && !builder.prOnly()) {
+                throw new RuntimeException("Cannot disable resolve when pronly is false");
+            }
+        }
+
         if (notifierConfiguration.contains("repoonly")) {
             builder.repoOnly(notifierConfiguration.get("repoonly").asBoolean());
         }