diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js
index 5607f7410e7e5b0972b3ac5560cb8b9ee237ac83..60bfebf0fd6b4c4b6637caaf6019666656421dc9 100644
--- a/lib/workers/branch/index.js
+++ b/lib/workers/branch/index.js
@@ -277,9 +277,9 @@ async function processBranch(branchConfig, packageFiles) {
         content +=
           config.lockFileErrors.length > 1 ? 'lock files' : 'a lock file';
         content +=
-          '. The most frequent cause is when you have private modules but have not added configuration for [private module support](https://renovatebot.com/docs/private-modules/). It is strongly recommended that you do not merge this PR as-is.';
+          '. The most frequent cause is when you have private modules but have not added configuration for [private module support](https://renovatebot.com/docs/private-modules/) but sometimes it can be just a temporary fault. It is strongly recommended that you do not merge this PR as-is.';
         content +=
-          '\n\nRenovate **will not retry** generating a lockfile for this PR unless either (a) the `package.json` in this branch needs updating, or (b) ';
+          '\n\nRenovate **will not retry** generating a lockfile for this PR unless either (a) the `package.json` in this branch needs updating, (b) the branch becomes conflicted, or (c) ';
         if (config.recreateClosed) {
           content +=
             'you manually delete this PR so that it can be regenerated.';
@@ -287,6 +287,9 @@ async function processBranch(branchConfig, packageFiles) {
           content +=
             'you rename then delete this PR unmerged, so that it can be regenerated.';
         }
+        content += `\n\n**To trigger a manual retry of this branch, add the label \`${
+          config.rebaseLabel
+        }\` to this PR.**\n\n`;
         content += '\n\nThe lock file failure details are included below:\n\n';
         config.lockFileErrors.forEach(error => {
           content += `##### ${error.lockFile}\n\n`;
diff --git a/lib/workers/pr/pr-body.js b/lib/workers/pr/pr-body.js
index 4211d038d5308d35776425daf6169f93a9ba66a8..787186a76c12a44b6879939366a8fedb87a7d81b 100644
--- a/lib/workers/pr/pr-body.js
+++ b/lib/workers/pr/pr-body.js
@@ -206,13 +206,17 @@ async function getPrBody(config) {
   prBody += '\n\n';
   prBody += ':recycle: **Rebasing**: ';
   if (config.rebaseStalePrs) {
-    prBody +=
-      'Renovate will keep this PR updated whenever it falls behind the base branch.';
+    prBody += 'Whenever PR is stale';
   } else {
-    prBody +=
-      'Renovate will regenerate this PR any time it develops a merge conflict.';
+    prBody += 'Whenever PR is conflicted';
+  }
+  if (config.platform === 'github') {
+    prBody += `, or if you add the label \`${
+      config.rebaseLabel
+    }\` to trigger it manually.\n\n`;
+  } else {
+    prBody += '.\n\n';
   }
-  prBody += '\n\n';
   if (config.recreateClosed) {
     prBody += `:ghost: **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/config-help/issues) if that's undesired.\n\n`;
   } else {
diff --git a/test/workers/pr/__snapshots__/index.spec.js.snap b/test/workers/pr/__snapshots__/index.spec.js.snap
index 13ac337aa3af529c5636077ac22f4cc34cd97106..37de0daf71d00f37c222d8a6171fdbca5a0591f8 100644
--- a/test/workers/pr/__snapshots__/index.spec.js.snap
+++ b/test/workers/pr/__snapshots__/index.spec.js.snap
@@ -57,7 +57,7 @@ Array [
 
 :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
 
-:recycle: **Rebasing**: Renovate will keep this PR updated whenever it falls behind the base branch.
+:recycle: **Rebasing**: Whenever PR is stale, or if you add the label \`rebase\` to trigger it manually.
 
 :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.",
   Array [],
@@ -97,7 +97,7 @@ Array [
 
 :vertical_traffic_light: **Automerge**: Enabled.
 
-:recycle: **Rebasing**: Renovate will regenerate this PR any time it develops a merge conflict.
+:recycle: **Rebasing**: Whenever PR is conflicted, or if you add the label \`rebase\` to trigger it manually.
 
 :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.",
   Array [],
@@ -154,7 +154,7 @@ note 2
 
 :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
 
-:recycle: **Rebasing**: Renovate will regenerate this PR any time it develops a merge conflict.
+:recycle: **Rebasing**: Whenever PR is conflicted, or if you add the label \`rebase\` to trigger it manually.
 
 :ghost: **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/config-help/issues) if that's undesired.",
   Array [],
@@ -194,7 +194,7 @@ Array [
 
 :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
 
-:recycle: **Rebasing**: Renovate will regenerate this PR any time it develops a merge conflict.
+:recycle: **Rebasing**: Whenever PR is conflicted, or if you add the label \`rebase\` to trigger it manually.
 
 :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.",
   Array [],
@@ -232,7 +232,7 @@ Object {
 
 :vertical_traffic_light: **Automerge**: Enabled.
 
-:recycle: **Rebasing**: Renovate will regenerate this PR any time it develops a merge conflict.
+:recycle: **Rebasing**: Whenever PR is conflicted, or if you add the label \`rebase\` to trigger it manually.
 
 :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.",
   "canRebase": true,
@@ -270,7 +270,7 @@ Object {
 
 :vertical_traffic_light: **Automerge**: Enabled.
 
-:recycle: **Rebasing**: Renovate will regenerate this PR any time it develops a merge conflict.
+:recycle: **Rebasing**: Whenever PR is conflicted, or if you add the label \`rebase\` to trigger it manually.
 
 :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.",
   "canRebase": true,
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index c701e0069b38b8146400e34c8f7256d23ce7cbf5..a76469de26e81a556ab0bdb1ee4f2411c680b034 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -354,6 +354,7 @@ describe('workers/pr', () => {
       platform.getBranchLastCommitTime.mockImplementationOnce(() => new Date());
       config.prCreation = 'not-pending';
       config.lockFileErrors = [{}];
+      config.platform = 'gitlab';
       const pr = await prWorker.ensurePr(config);
       expect(pr).toMatchObject({ displayNumber: 'New Pull Request' });
     });