diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index d5ad7b49fe510e9e94ade379f46201c5ef2ef430..388ae37b6dd205cca8dffc47dd178702b488baac 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -250,6 +250,10 @@ async function ensurePr(prConfig) {
       );
     } catch (err) {
       logger.warn({ err, message: err.message }, `Failed to create PR`);
+      if (err.message === 'Validation Failed (422)') {
+        logger.info({ branchName }, 'Deleting invalid branch');
+        await platform.deleteBranch(branchName);
+      }
       return null;
     }
     // Skip assign and review if automerging PR
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index 3f2ff841e581ed7b58faaf9776379e33eaa0b70d..0355c5b85e19545a0b1fe985502bcf75426c88bd 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -153,7 +153,7 @@ describe('workers/pr', () => {
       platform.getBranchStatus.mockReturnValueOnce('success');
       platform.createPr = jest.fn();
       platform.createPr.mockImplementationOnce(() => {
-        throw new Error('failed to create PR');
+        throw new Error('Validation Failed (422)');
       });
       config.prCreation = 'status-success';
       const pr = await prWorker.ensurePr(config);