diff --git a/lib/workers/repository/update/branch/index.ts b/lib/workers/repository/update/branch/index.ts
index 562a08f61539f7bf2ea644580abf60dc77d45e13..003da47bb0c4ba2de3262c8334a6c7f33165dcbc 100644
--- a/lib/workers/repository/update/branch/index.ts
+++ b/lib/workers/repository/update/branch/index.ts
@@ -48,12 +48,43 @@ import { shouldReuseExistingBranch } from './reuse';
 import { isScheduledNow } from './schedule';
 import { setConfidence, setStability } from './status-checks';
 
-function rebaseCheck(config: RenovateConfig, branchPr: Pr): boolean {
+async function rebaseCheck(
+  config: RenovateConfig,
+  branchPr: Pr
+): Promise<boolean> {
   const titleRebase = branchPr.title?.startsWith('rebase!');
+  if (titleRebase) {
+    logger.debug(
+      `Manual rebase requested via PR title for #${branchPr.number}`
+    );
+    return true;
+  }
   const labelRebase = !!branchPr.labels?.includes(config.rebaseLabel!);
+  if (labelRebase) {
+    logger.debug(
+      `Manual rebase requested via PR labels for #${branchPr.number}`
+    );
+    // istanbul ignore if
+    if (GlobalConfig.get('dryRun')) {
+      logger.info(
+        `DRY-RUN: Would delete label ${config.rebaseLabel!} from #${
+          branchPr.number
+        }`
+      );
+    } else {
+      await platform.deleteLabel(branchPr.number, config.rebaseLabel!);
+    }
+    return true;
+  }
   const prRebaseChecked = !!branchPr.bodyStruct?.rebaseRequested;
+  if (prRebaseChecked) {
+    logger.debug(
+      `Manual rebase requested via PR checkbox for #${branchPr.number}`
+    );
+    return true;
+  }
 
-  return titleRebase || labelRebase || prRebaseChecked;
+  return false;
 }
 
 async function deleteBranchSilently(branchName: string): Promise<void> {
@@ -107,7 +138,7 @@ export async function processBranch(
     config.dependencyDashboardChecks?.[config.branchName];
   logger.debug(`dependencyDashboardCheck=${dependencyDashboardCheck!}`);
   if (branchPr) {
-    config.rebaseRequested = rebaseCheck(config, branchPr);
+    config.rebaseRequested = await rebaseCheck(config, branchPr);
     logger.debug(`PR rebase requested=${config.rebaseRequested}`);
   }
   const artifactErrorTopic = emojify(':warning: Artifact update problem');
@@ -375,7 +406,7 @@ export async function processBranch(
     const userApproveAllPendingPR = !!config.dependencyDashboardAllPending;
     const userOpenAllRateLimtedPR = !!config.dependencyDashboardAllRateLimited;
     if (userRebaseRequested) {
-      logger.debug('Manual rebase requested via Dependency Dashboard');
+      logger.debug('User has requested rebase');
       config.reuseExistingBranch = false;
     } else if (dependencyDashboardCheck === 'global-config') {
       logger.debug(`Manual create/rebase requested via checkedBranches`);
diff --git a/lib/workers/repository/update/branch/reuse.spec.ts b/lib/workers/repository/update/branch/reuse.spec.ts
index 05d36d7d84da48a2acbe8a0e1de3b0b20f4e3615..48363129adc0c6df930fc92e9225dd22d5e48e41 100644
--- a/lib/workers/repository/update/branch/reuse.spec.ts
+++ b/lib/workers/repository/update/branch/reuse.spec.ts
@@ -115,40 +115,6 @@ describe('workers/repository/update/branch/reuse', () => {
       expect(res.reuseExistingBranch).toBeTrue();
     });
 
-    it('returns false if PR title rebase!', async () => {
-      scm.branchExists.mockResolvedValueOnce(true);
-      platform.getBranchPr.mockResolvedValueOnce({
-        ...pr,
-        title: 'rebase!Update foo to v4',
-      });
-      const res = await shouldReuseExistingBranch(config);
-      expect(res.reuseExistingBranch).toBeFalse();
-    });
-
-    it('returns false if PR body check rebase', async () => {
-      scm.branchExists.mockResolvedValueOnce(true);
-      platform.getBranchPr.mockResolvedValueOnce({
-        ...pr,
-        title: 'Update foo to v4',
-        bodyStruct: {
-          hash: '123',
-          rebaseRequested: true,
-        },
-      });
-      const res = await shouldReuseExistingBranch(config);
-      expect(res.reuseExistingBranch).toBeFalse();
-    });
-
-    it('returns false if manual rebase by label', async () => {
-      scm.branchExists.mockResolvedValueOnce(true);
-      platform.getBranchPr.mockResolvedValueOnce({
-        ...pr,
-        labels: ['rebase'],
-      });
-      const res = await shouldReuseExistingBranch(config);
-      expect(res.reuseExistingBranch).toBeFalse();
-    });
-
     it('returns false if unmergeable and can rebase', async () => {
       scm.branchExists.mockResolvedValueOnce(true);
       scm.isBranchConflicted.mockResolvedValueOnce(true);
diff --git a/lib/workers/repository/update/branch/reuse.ts b/lib/workers/repository/update/branch/reuse.ts
index d99be4947512210fd382cbc4082ee5fa29fcb0b5..d21ca798979c43c2b312ddccc86883db7f80811f 100644
--- a/lib/workers/repository/update/branch/reuse.ts
+++ b/lib/workers/repository/update/branch/reuse.ts
@@ -1,4 +1,3 @@
-import { GlobalConfig } from '../../../../config/global';
 import { logger } from '../../../../logger';
 import { platform } from '../../../../modules/platform';
 import { scm } from '../../../../modules/platform/scm';
@@ -22,35 +21,6 @@ export async function shouldReuseExistingBranch(
     return result;
   }
   logger.debug(`Branch already exists`);
-
-  // Check for existing PR
-  const pr = await platform.getBranchPr(branchName);
-
-  if (pr) {
-    if (pr.title?.startsWith('rebase!')) {
-      logger.debug(`Manual rebase requested via PR title for #${pr.number}`);
-      return result;
-    }
-    if (pr.bodyStruct?.rebaseRequested) {
-      logger.debug(`Manual rebase requested via PR checkbox for #${pr.number}`);
-      return result;
-    }
-    if (pr.labels?.includes(config.rebaseLabel!)) {
-      logger.debug(`Manual rebase requested via PR labels for #${pr.number}`);
-      // istanbul ignore if
-      if (GlobalConfig.get('dryRun')) {
-        logger.info(
-          `DRY-RUN: Would delete label ${config.rebaseLabel!} from #${
-            pr.number
-          }`
-        );
-      } else {
-        await platform.deleteLabel(pr.number, config.rebaseLabel!);
-      }
-      return result;
-    }
-  }
-
   if (
     config.rebaseWhen === 'behind-base-branch' ||
     (config.rebaseWhen === 'auto' &&