diff --git a/lib/manager/git-submodules/extract.spec.ts b/lib/manager/git-submodules/extract.spec.ts
index db8dd2109660ced8b11e4cdc2a9dd82e5e203af4..cd83e813a8f604e2fa6bfc8ac5e80258b29abdb2 100644
--- a/lib/manager/git-submodules/extract.spec.ts
+++ b/lib/manager/git-submodules/extract.spec.ts
@@ -1,6 +1,7 @@
 import { mock } from 'jest-mock-extended';
 import _simpleGit, { Response, SimpleGit } from 'simple-git';
 import { getName, partial } from '../../../test/util';
+import * as hostRules from '../../util/host-rules';
 import type { PackageFile } from '../types';
 import extractPackageFile from './extract';
 
@@ -44,6 +45,7 @@ describe(getName(__filename), () => {
   });
   describe('extractPackageFile()', () => {
     it('extracts submodules', async () => {
+      hostRules.add({ hostName: 'github.com', token: 'abc123' });
       let res: PackageFile;
       expect(
         await extractPackageFile('', '.gitmodules.1', { localDir })
diff --git a/lib/manager/git-submodules/extract.ts b/lib/manager/git-submodules/extract.ts
index ee53dc5c707853b1e82aaba7eb439c238de86b97..d74b9b52826caedb31ec73141d94ba518ba341fa 100644
--- a/lib/manager/git-submodules/extract.ts
+++ b/lib/manager/git-submodules/extract.ts
@@ -114,7 +114,13 @@ export default async function extractPackageFile(
           // Find HTTP URL, then apply token
           let httpSubModuleUrl = getHttpUrl(subModuleUrl);
           const hostRule = hostRules.find({ url: httpSubModuleUrl });
-          httpSubModuleUrl = getHttpUrl(subModuleUrl, hostRule?.token);
+          if (hostRule?.token) {
+            logger.debug(
+              { httpSubModuleUrl },
+              'Found hostRules token for submodule'
+            );
+            httpSubModuleUrl = getHttpUrl(subModuleUrl, hostRule.token);
+          }
           const currentValue = await getBranch(
             gitModulesPath,
             name,
@@ -122,7 +128,7 @@ export default async function extractPackageFile(
           );
           return {
             depName: path,
-            lookupName: httpSubModuleUrl,
+            lookupName: getHttpUrl(subModuleUrl),
             currentValue,
             currentDigest,
           };