diff --git a/lib/workers/repository/onboarding/pr/pr-list.js b/lib/workers/repository/onboarding/pr/pr-list.js
index 26d44fe392d8cebdb38bc53f085bc8cba3dc4e16..9ded9028a3a3610f866b3b6fe133d5e2db3c2d26 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.js
+++ b/lib/workers/repository/onboarding/pr/pr-list.js
@@ -23,30 +23,28 @@ function getPrList(config, branches) {
     prDesc += branch.baseBranch
       ? `  - Merge into: \`${branch.baseBranch}\`\n`
       : '';
+    const seen = [];
     for (const upgrade of branch.upgrades) {
+      let text = '';
       if (upgrade.updateType === 'lockFileMaintenance') {
-        prDesc += '  - Regenerates lock file to use latest dependency versions';
+        text += '  - Regenerate lock files to use latest dependency versions';
       } else {
         if (upgrade.updateType === 'pin') {
-          prDesc += '  - Pins ';
+          text += '  - Pin ';
         } else {
-          prDesc += '  - Upgrades ';
+          text += '  - Upgrade ';
         }
         if (upgrade.repositoryUrl) {
-          prDesc += `[${upgrade.depName}](${upgrade.repositoryUrl})`;
+          text += `[${upgrade.depName}](${upgrade.repositoryUrl})`;
         } else {
-          prDesc += upgrade.depName.replace(prTitleRe, '@​$1');
+          text += upgrade.depName.replace(prTitleRe, '@​$1');
         }
-        if (upgrade.depType) {
-          prDesc += ` in \`${upgrade.depType}\` `;
-        } else {
-          prDesc += ' ';
-        }
-        if (upgrade.updateType !== 'pin') {
-          prDesc += `from \`${upgrade.currentValue}\` `;
-        }
-        prDesc += `to \`${upgrade.newValue || upgrade.newDigest}\``;
-        prDesc += '\n';
+        text += ` to \`${upgrade.newValue || upgrade.newDigest}\``;
+        text += '\n';
+      }
+      if (!seen.includes(text)) {
+        prDesc += text;
+        seen.push(text);
       }
     }
     prDesc += '\n\n';
diff --git a/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap b/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap
index a35d11bc93fbe7ca672f75d8cd2397a112576b08..b2297672d331bffaa20ec535b80d577e222c2100 100644
--- a/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap
+++ b/test/workers/repository/onboarding/pr/__snapshots__/pr-list.spec.js.snap
@@ -18,8 +18,8 @@ With your current configuration, Renovate will create 2 Pull Requests:
 <summary>Pin dependencies</summary>
 
   - Branch name: \`renovate/pin-dependencies\`
-  - Pins [a](https://a) in \`devDependencies\` to \`1.1.0\`
-  - Pins b to \`1.5.3\`
+  - Pin [a](https://a) to \`1.1.0\`
+  - Pin b to \`1.5.3\`
 
 
 </details>
@@ -28,7 +28,7 @@ With your current configuration, Renovate will create 2 Pull Requests:
 <summary>Update a to v2</summary>
 
   - Branch name: \`renovate/a-2.x\`
-  - Upgrades [a](https://a) in \`devDependencies\` from \`^1.0.0\` to \`2.0.1\`
+  - Upgrade [a](https://a) to \`2.0.1\`
 
 
 </details>
@@ -47,7 +47,7 @@ With your current configuration, Renovate will create 1 Pull Request:
 
   - Schedule: [\\"before 5am\\"]
   - Branch name: \`renovate/lock-file-maintenance\`
-  - Regenerates lock file to use latest dependency versions
+  - Regenerate lock files to use latest dependency versions
 
 </details>