diff --git a/.github/workflows/check-milestone.yml b/.github/workflows/check-milestone.yml
index bd9e8ab7cbd2048b98ca6439816bd019e9895a18..93a5e37bf9b0ab1fdafeed2f799cd61683d3be7c 100644
--- a/.github/workflows/check-milestone.yml
+++ b/.github/workflows/check-milestone.yml
@@ -29,8 +29,8 @@ jobs:
             const owner = context.repo.owner;
             const repo = context.repo.repo;
 
-            const branchName = '${{ github.ref }}';
-            const commitMessage = '${{ github.event.head_commit.message }}';
+            const branchName = `${{ github.ref }}`;
+            const commitMessage = context?.payload?.head_commit?.message ?? '';
 
             await setMilestoneForCommits({
               github,
diff --git a/release/package.json b/release/package.json
index e42a0be2d79c13f87188fa6217f4a71a25fb7b5d..e89b054e7806c73e24618a5b516dac3493f066ca 100644
--- a/release/package.json
+++ b/release/package.json
@@ -27,6 +27,7 @@
     "semver": "^7.5.4",
     "tsx": "^3.12.7",
     "typescript": "^5.1.6",
+    "underscore": "^1.13.6",
     "zx": "^8.1.0"
   },
   "devDependencies": {
diff --git a/release/src/milestones.ts b/release/src/milestones.ts
index ee0804ab67e6ff54a7903c8f0703a466e1a73752..12c810ac87d1e39d6e5b2dbfc76da1980d90a4ee 100644
--- a/release/src/milestones.ts
+++ b/release/src/milestones.ts
@@ -1,3 +1,5 @@
+import _ from "underscore";
+
 import { getMilestones } from "./github";
 import { getLinkedIssues, getPRsFromCommitMessage } from "./linked-issues";
 import type { Issue, GithubProps, Milestone } from "./types";
@@ -158,8 +160,11 @@ export async function setMilestoneForCommits({
   console.log('Next milestone:', nextMilestone.title);
 
   // figure out issue or PR
-  const PRsToCheck = commitMessages.flatMap(getPRsFromCommitMessage).filter(isNotNull);
-
+  const PRsToCheck = _.uniq(
+    commitMessages
+      .flatMap(getPRsFromCommitMessage)
+      .filter(isNotNull)
+  );
   if (!PRsToCheck.length) {
     throw new Error('No PRs found in commit messages');
   }
diff --git a/release/yarn.lock b/release/yarn.lock
index 10fe96de19e365f01f9140747038abee4ccd0d39..d0a2838ce100229d4f6a2589d34b851ddbf60071 100644
--- a/release/yarn.lock
+++ b/release/yarn.lock
@@ -2818,6 +2818,11 @@ typescript@^5.1.6:
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
   integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
 
+underscore@^1.13.6:
+  version "1.13.6"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441"
+  integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==
+
 undici-types@~5.26.4:
   version "5.26.5"
   resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"