diff --git a/lib/platform/azure/index.spec.ts b/lib/platform/azure/index.spec.ts
index 9262387b74e5ed52b8c0b4d050443c13261ab108..084a6c511b78866604937490d66920309d6529c5 100644
--- a/lib/platform/azure/index.spec.ts
+++ b/lib/platform/azure/index.spec.ts
@@ -791,11 +791,11 @@ describe('platform/azure', () => {
             updateThread: jest.fn(),
           } as any)
       );
-      await azure.ensureCommentRemoval(42, 'some-subject');
+      await azure.ensureCommentRemoval({ number: 42, topic: 'some-subject' });
       expect(azureApi.gitApi).toHaveBeenCalledTimes(3);
     });
     it('nothing should happen, no number', async () => {
-      await azure.ensureCommentRemoval(0, 'test');
+      await azure.ensureCommentRemoval({ number: 0, topic: 'test' });
       expect(azureApi.gitApi).toHaveBeenCalledTimes(0);
     });
     it('comment not found', async () => {
@@ -809,7 +809,7 @@ describe('platform/azure', () => {
             updateThread: jest.fn(),
           } as any)
       );
-      await azure.ensureCommentRemoval(42, 'some-subject');
+      await azure.ensureCommentRemoval({ number: 42, topic: 'some-subject' });
       expect(azureApi.gitApi).toHaveBeenCalledTimes(3);
     });
   });
diff --git a/lib/platform/azure/index.ts b/lib/platform/azure/index.ts
index f7cc5cf371a797a2e26338e9f1f9ed62ef06012a..903c723509005b678724481ee715ed34ab945782 100644
--- a/lib/platform/azure/index.ts
+++ b/lib/platform/azure/index.ts
@@ -21,6 +21,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueResult,
   FindPRConfig,
   Issue,
@@ -572,10 +573,10 @@ export async function ensureComment({
   return true;
 }
 
-export async function ensureCommentRemoval(
-  issueNo: number,
-  topic: string
-): Promise<void> {
+export async function ensureCommentRemoval({
+  number: issueNo,
+  topic,
+}: EnsureCommentRemovalConfig): Promise<void> {
   logger.debug(`ensureCommentRemoval(issueNo, topic)(${issueNo}, ${topic})`);
   if (issueNo) {
     const azureApiGit = await azureApi.gitApi();
diff --git a/lib/platform/bitbucket-server/index.spec.ts b/lib/platform/bitbucket-server/index.spec.ts
index 0a0383dab7c8f397fcfb5442fe005c6b158bef31..9229a58a47f7a6d9af00bd2414d617b1f9778b51 100644
--- a/lib/platform/bitbucket-server/index.spec.ts
+++ b/lib/platform/bitbucket-server/index.spec.ts
@@ -487,7 +487,7 @@ describe('platform/bitbucket-server', () => {
       describe('ensureCommentRemoval()', () => {
         it('does not throw', async () => {
           expect.assertions(1);
-          await bitbucket.ensureCommentRemoval(5, 'topic');
+          await bitbucket.ensureCommentRemoval({ number: 5, topic: 'topic' });
           expect(api.get.mock.calls).toMatchSnapshot();
         });
 
@@ -496,7 +496,10 @@ describe('platform/bitbucket-server', () => {
           await initRepo();
           api.get.mockClear();
 
-          await bitbucket.ensureCommentRemoval(5, 'some-subject');
+          await bitbucket.ensureCommentRemoval({
+            number: 5,
+            topic: 'some-subject',
+          });
           expect(api.get.mock.calls).toMatchSnapshot();
           expect(api.delete).toHaveBeenCalledTimes(1);
         });
@@ -506,7 +509,7 @@ describe('platform/bitbucket-server', () => {
           await initRepo();
           api.get.mockClear();
 
-          await bitbucket.ensureCommentRemoval(5, 'topic');
+          await bitbucket.ensureCommentRemoval({ number: 5, topic: 'topic' });
           expect(api.get.mock.calls).toMatchSnapshot();
           expect(api.delete).toHaveBeenCalledTimes(0);
         });
diff --git a/lib/platform/bitbucket-server/index.ts b/lib/platform/bitbucket-server/index.ts
index 99b57d9281effbe62b5c3d403e385c0af1846adc..2d5f726bc57fb20055ebb46251ac061fabd5844e 100644
--- a/lib/platform/bitbucket-server/index.ts
+++ b/lib/platform/bitbucket-server/index.ts
@@ -19,6 +19,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueConfig,
   EnsureIssueResult,
   FindPRConfig,
@@ -883,10 +884,10 @@ export async function ensureComment({
   }
 }
 
-export async function ensureCommentRemoval(
-  prNo: number,
-  topic: string
-): Promise<void> {
+export async function ensureCommentRemoval({
+  number: prNo,
+  topic,
+}: EnsureCommentRemovalConfig): Promise<void> {
   try {
     logger.debug(`Ensuring comment "${topic}" in #${prNo} is removed`);
     const comments = await getComments(prNo);
diff --git a/lib/platform/bitbucket/index.spec.ts b/lib/platform/bitbucket/index.spec.ts
index 34993542d5d87d8fc878e25dab36c076236445c4..a6bd99e995803fc6f5c5e0e320ccc796edb8bf40 100644
--- a/lib/platform/bitbucket/index.spec.ts
+++ b/lib/platform/bitbucket/index.spec.ts
@@ -377,7 +377,7 @@ describe('platform/bitbucket', () => {
 
   describe('ensureCommentRemoval()', () => {
     it('does not throw', async () => {
-      await bitbucket.ensureCommentRemoval(3, 'topic');
+      await bitbucket.ensureCommentRemoval({ number: 3, topic: 'topic' });
     });
   });
 
diff --git a/lib/platform/bitbucket/index.ts b/lib/platform/bitbucket/index.ts
index fbf38a23506c29585f7e58b74a83725f86ed696f..d516a162c3c8a94e6e4dddefedfecd47b49f91b0 100644
--- a/lib/platform/bitbucket/index.ts
+++ b/lib/platform/bitbucket/index.ts
@@ -17,6 +17,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueConfig,
   EnsureIssueResult,
   FindPRConfig,
@@ -708,10 +709,10 @@ export function ensureComment({
   });
 }
 
-export function ensureCommentRemoval(
-  prNo: number,
-  topic: string
-): Promise<void> {
+export function ensureCommentRemoval({
+  number: prNo,
+  topic,
+}: EnsureCommentRemovalConfig): Promise<void> {
   return comments.ensureCommentRemoval(config, prNo, topic);
 }
 
diff --git a/lib/platform/common.ts b/lib/platform/common.ts
index fd463c6face61240b0c1316c9ffba9dc91e8cb06..a561651e6ffb11129b61705f08a10334a481cd8d 100644
--- a/lib/platform/common.ts
+++ b/lib/platform/common.ts
@@ -149,6 +149,11 @@ export interface EnsureCommentConfig {
   topic: string;
   content: string;
 }
+export interface EnsureCommentRemovalConfig {
+  number: number;
+  topic?: string;
+  content?: string;
+}
 /**
  * TODO: Proper typing
  */
@@ -188,7 +193,9 @@ export interface Platform {
     branchName: string,
     context: string
   ): Promise<BranchStatus | null>;
-  ensureCommentRemoval(number: number, subject: string): Promise<void>;
+  ensureCommentRemoval(
+    ensureCommentRemoval: EnsureCommentRemovalConfig
+  ): Promise<void>;
   deleteBranch(branchName: string, closePr?: boolean): Promise<void>;
   ensureComment(ensureComment: EnsureCommentConfig): Promise<boolean>;
   branchExists(branchName: string): Promise<boolean>;
diff --git a/lib/platform/gitea/index.spec.ts b/lib/platform/gitea/index.spec.ts
index 50b0c505d6a7a242cfb3178281f6e4680c25d302..49ddde3a4e297740714627fda9154543b38d29cb 100644
--- a/lib/platform/gitea/index.spec.ts
+++ b/lib/platform/gitea/index.spec.ts
@@ -1325,7 +1325,7 @@ index 0000000..2173594
     it('should remove existing comment', async () => {
       helper.getComments.mockResolvedValueOnce(mockComments);
       await initFakeRepo();
-      await gitea.ensureCommentRemoval(1, 'some-topic');
+      await gitea.ensureCommentRemoval({ number: 1, topic: 'some-topic' });
 
       expect(helper.deleteComment).toHaveBeenCalledTimes(1);
       expect(helper.deleteComment).toHaveBeenCalledWith(
@@ -1338,7 +1338,7 @@ index 0000000..2173594
       helper.getComments.mockResolvedValueOnce(mockComments);
       helper.deleteComment.mockRejectedValueOnce(new Error());
       await initFakeRepo();
-      await gitea.ensureCommentRemoval(1, 'some-topic');
+      await gitea.ensureCommentRemoval({ number: 1, topic: 'some-topic' });
 
       expect(logger.warn).toHaveBeenCalledTimes(1);
     });
@@ -1346,7 +1346,7 @@ index 0000000..2173594
     it('should abort silently if comment is missing', async () => {
       helper.getComments.mockResolvedValueOnce(mockComments);
       await initFakeRepo();
-      await gitea.ensureCommentRemoval(1, 'missing');
+      await gitea.ensureCommentRemoval({ number: 1, topic: 'missing' });
 
       expect(helper.deleteComment).not.toHaveBeenCalled();
     });
diff --git a/lib/platform/gitea/index.ts b/lib/platform/gitea/index.ts
index 1357861512a17b2537b9f9825be87a337c14fe67..cbdc65eb0f66989587137973b468a97cbed6a215 100644
--- a/lib/platform/gitea/index.ts
+++ b/lib/platform/gitea/index.ts
@@ -22,6 +22,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueConfig,
   FindPRConfig,
   Issue,
@@ -817,7 +818,10 @@ const platform: Platform = {
     }
   },
 
-  async ensureCommentRemoval(issue: number, topic: string): Promise<void> {
+  async ensureCommentRemoval({
+    number: issue,
+    topic,
+  }: EnsureCommentRemovalConfig): Promise<void> {
     const commentList = await helper.getComments(config.repository, issue);
     const comment = findCommentByTopic(commentList, topic);
 
diff --git a/lib/platform/github/index.spec.ts b/lib/platform/github/index.spec.ts
index 4e2f9046940d44565b359d76de35eb2bc4588308..1536488344030adf724f4b264f0bcb75f26768aa 100644
--- a/lib/platform/github/index.spec.ts
+++ b/lib/platform/github/index.spec.ts
@@ -1438,7 +1438,7 @@ describe('platform/github', () => {
         .delete('/repos/some/repo/issues/comments/1234')
         .reply(200);
       await github.initRepo({ repository: 'some/repo', token: 'token' } as any);
-      await github.ensureCommentRemoval(42, 'some-subject');
+      await github.ensureCommentRemoval({ number: 42, topic: 'some-subject' });
       expect(httpMock.getTrace()).toMatchSnapshot();
     });
   });
diff --git a/lib/platform/github/index.ts b/lib/platform/github/index.ts
index 433221b93cc34ad55e3f81ca6212b4b730e39049..d1080f761cdad02d3226252a44c987778032ff11 100644
--- a/lib/platform/github/index.ts
+++ b/lib/platform/github/index.ts
@@ -33,6 +33,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueConfig,
   EnsureIssueResult,
   FindPRConfig,
@@ -1620,10 +1621,10 @@ export async function ensureComment({
   }
 }
 
-export async function ensureCommentRemoval(
-  issueNo: number,
-  topic: string
-): Promise<void> {
+export async function ensureCommentRemoval({
+  number: issueNo,
+  topic,
+}: EnsureCommentRemovalConfig): Promise<void> {
   logger.debug(`Ensuring comment "${topic}" in #${issueNo} is removed`);
   const comments = await getComments(issueNo);
   let commentId: number;
diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts
index a83d13b309a5441234c79fa58b92bc403338bba6..87b0787e724addaca9694b8ae8beb65412f1b270 100644
--- a/lib/platform/gitlab/index.spec.ts
+++ b/lib/platform/gitlab/index.spec.ts
@@ -857,7 +857,7 @@ describe('platform/gitlab', () => {
           body: [{ id: 1234, body: '### some-subject\n\nblablabla' }],
         })
       );
-      await gitlab.ensureCommentRemoval(42, 'some-subject');
+      await gitlab.ensureCommentRemoval({ number: 42, topic: 'some-subject' });
       expect(api.delete).toHaveBeenCalledTimes(1);
     });
   });
diff --git a/lib/platform/gitlab/index.ts b/lib/platform/gitlab/index.ts
index 4248c2e417ff7fe0b7c5331cd94714f6b012260a..e3c620e7b28616ac61174eb14441640c0ed45fa6 100644
--- a/lib/platform/gitlab/index.ts
+++ b/lib/platform/gitlab/index.ts
@@ -25,6 +25,7 @@ import {
   CommitFilesConfig,
   CreatePRConfig,
   EnsureCommentConfig,
+  EnsureCommentRemovalConfig,
   EnsureIssueConfig,
   FindPRConfig,
   GotResponse,
@@ -941,10 +942,10 @@ export async function ensureComment({
   return true;
 }
 
-export async function ensureCommentRemoval(
-  issueNo: number,
-  topic: string
-): Promise<void> {
+export async function ensureCommentRemoval({
+  number: issueNo,
+  topic,
+}: EnsureCommentRemovalConfig): Promise<void> {
   logger.debug(`Ensuring comment "${topic}" in #${issueNo} is removed`);
   const comments = await getComments(issueNo);
   let commentId: number;
diff --git a/lib/workers/branch/index.ts b/lib/workers/branch/index.ts
index a8c5b5c6e000917dd2f1d7bdf6a1484cd738fec5..12b80646b0a4cd2b7ce4887e5fe720714e62f029 100644
--- a/lib/workers/branch/index.ts
+++ b/lib/workers/branch/index.ts
@@ -177,7 +177,10 @@ export async function processBranch(
                   branchPr.number
               );
             } else {
-              await platform.ensureCommentRemoval(branchPr.number, topic);
+              await platform.ensureCommentRemoval({
+                number: branchPr.number,
+                topic,
+              });
             }
           } else {
             let content = emojify(
@@ -622,10 +625,10 @@ export async function processBranch(
               content,
             });
             // TODO: remoe this soon once they're all cleared out
-            await platform.ensureCommentRemoval(
-              pr.number,
-              ':warning: Lock file problem'
-            );
+            await platform.ensureCommentRemoval({
+              number: pr.number,
+              topic: ':warning: Lock file problem',
+            });
           }
         }
         const context = `renovate/artifacts`;
@@ -659,7 +662,7 @@ export async function processBranch(
               'DRY-RUN: Would ensure comment removal in PR #' + pr.number
             );
           } else {
-            await platform.ensureCommentRemoval(pr.number, topic);
+            await platform.ensureCommentRemoval({ number: pr.number, topic });
           }
         }
         const prAutomerged = await checkAutoMerge(pr, config);
diff --git a/lib/workers/repository/finalise/validate.ts b/lib/workers/repository/finalise/validate.ts
index 511fda0d812b8a250b13f967baa84b1c073b346a..1a0a245824baa378c3c58a760e7c5cfb532d5e8a 100644
--- a/lib/workers/repository/finalise/validate.ts
+++ b/lib/workers/repository/finalise/validate.ts
@@ -111,7 +111,7 @@ export async function validatePrs(config: RenovateConfig): Promise<void> {
             `DRY-RUN: Would ensure validation comment removal in PR #${pr.number}`
           );
         } else {
-          await platform.ensureCommentRemoval(pr.number, topic);
+          await platform.ensureCommentRemoval({ number: pr.number, topic });
         }
       }
       // istanbul ignore else