diff --git a/lib/workers/pr/code-owners.spec.ts b/lib/workers/pr/code-owners.spec.ts
index c1d8ac782a3d7801ed4b0cf2929b97cdd344491b..f353cb7c683e54a42411f059b313418a70040642 100644
--- a/lib/workers/pr/code-owners.spec.ts
+++ b/lib/workers/pr/code-owners.spec.ts
@@ -1,9 +1,9 @@
 import { mock } from 'jest-mock-extended';
-import { git, platform } from '../../../test/util';
+import { fs, platform } from '../../../test/util';
 import { Pr } from '../../platform';
 import { codeOwnersForPr } from './code-owners';
 
-jest.mock('../../util/git');
+jest.mock('../../util/fs');
 
 describe('workers/pr/code-owners', () => {
   describe('codeOwnersForPr', () => {
@@ -13,13 +13,13 @@ describe('workers/pr/code-owners', () => {
       pr = mock<Pr>();
     });
     it('returns global code owner', async () => {
-      git.getFile.mockResolvedValueOnce(['* @jimmy'].join('\n'));
+      fs.readLocalFile.mockResolvedValueOnce(['* @jimmy'].join('\n'));
       platform.getPrFiles.mockResolvedValueOnce(['README.md']);
       const codeOwners = await codeOwnersForPr(pr);
       expect(codeOwners).toEqual(['@jimmy']);
     });
     it('returns more specific code owners', async () => {
-      git.getFile.mockResolvedValueOnce(
+      fs.readLocalFile.mockResolvedValueOnce(
         ['* @jimmy', 'package.json @john @maria'].join('\n')
       );
       platform.getPrFiles.mockResolvedValueOnce(['package.json']);
@@ -27,7 +27,7 @@ describe('workers/pr/code-owners', () => {
       expect(codeOwners).toEqual(['@john', '@maria']);
     });
     it('ignores comments and leading/trailing whitespace', async () => {
-      git.getFile.mockResolvedValueOnce(
+      fs.readLocalFile.mockResolvedValueOnce(
         [
           '# comment line',
           '    \t    ',
@@ -41,19 +41,21 @@ describe('workers/pr/code-owners', () => {
       expect(codeOwners).toEqual(['@john', '@maria']);
     });
     it('returns empty array when no code owners set', async () => {
-      git.getFile.mockResolvedValueOnce(null);
+      fs.readLocalFile.mockResolvedValueOnce(null);
       platform.getPrFiles.mockResolvedValueOnce(['package.json']);
       const codeOwners = await codeOwnersForPr(pr);
       expect(codeOwners).toEqual([]);
     });
     it('returns empty array when no code owners match', async () => {
-      git.getFile.mockResolvedValueOnce(['package-lock.json @mike'].join('\n'));
+      fs.readLocalFile.mockResolvedValueOnce(
+        ['package-lock.json @mike'].join('\n')
+      );
       platform.getPrFiles.mockResolvedValueOnce(['yarn.lock']);
       const codeOwners = await codeOwnersForPr(pr);
       expect(codeOwners).toEqual([]);
     });
     it('returns empty array when error occurs', async () => {
-      git.getFile.mockImplementationOnce((_, __) => {
+      fs.readLocalFile.mockImplementationOnce((_, __) => {
         throw new Error();
       });
       const codeOwners = await codeOwnersForPr(pr);
@@ -67,7 +69,7 @@ describe('workers/pr/code-owners', () => {
     ];
     codeOwnerFilePaths.forEach((codeOwnerFilePath) => {
       it(`detects code owner file at '${codeOwnerFilePath}'`, async () => {
-        git.getFile.mockImplementation((path, _) => {
+        fs.readLocalFile.mockImplementation((path, _) => {
           if (path === codeOwnerFilePath) {
             return Promise.resolve(['* @mike'].join('\n'));
           }
diff --git a/lib/workers/pr/code-owners.ts b/lib/workers/pr/code-owners.ts
index 5945b9cc8d9d185bcae3f44b40074d7b795aa2d5..d2522d5068503efeb936f3d0c0fb81f43d55d849 100644
--- a/lib/workers/pr/code-owners.ts
+++ b/lib/workers/pr/code-owners.ts
@@ -1,15 +1,15 @@
 import ignore from 'ignore';
 import { logger } from '../../logger';
 import { Pr, platform } from '../../platform';
-import { getFile } from '../../util/git';
+import { readLocalFile } from '../../util/fs';
 
 export async function codeOwnersForPr(pr: Pr): Promise<string[]> {
   try {
     const codeOwnersFile =
-      (await getFile('CODEOWNERS', pr.targetBranch)) ||
-      (await getFile('.github/CODEOWNERS', pr.targetBranch)) ||
-      (await getFile('.gitlab/CODEOWNERS', pr.targetBranch)) ||
-      (await getFile('docs/CODEOWNERS', pr.targetBranch));
+      (await readLocalFile('CODEOWNERS', 'utf8')) ||
+      (await readLocalFile('.github/CODEOWNERS', 'utf8')) ||
+      (await readLocalFile('.gitlab/CODEOWNERS', 'utf8')) ||
+      (await readLocalFile('docs/CODEOWNERS', 'utf8'));
 
     if (!codeOwnersFile) {
       return [];