diff --git a/lib/workers/global/config/parse/file.ts b/lib/workers/global/config/parse/file.ts
index 14c13c06a81e15b6a17a71664d069254ca20c1e7..ac56ec629a964ac33ed0e2e9b82307650302b08f 100644
--- a/lib/workers/global/config/parse/file.ts
+++ b/lib/workers/global/config/parse/file.ts
@@ -27,7 +27,9 @@ export async function getParsedContent(file: string): Promise<RenovateConfig> {
       ) as RenovateConfig;
     case '.cjs':
     case '.js': {
-      const tmpConfig = await import(file);
+      const tmpConfig = await import(
+        upath.isAbsolute(file) ? file : `${process.cwd()}/${file}`
+      );
       let config = tmpConfig.default
         ? tmpConfig.default
         : /* istanbul ignore next: hard to test */ tmpConfig;
@@ -43,10 +45,7 @@ export async function getParsedContent(file: string): Promise<RenovateConfig> {
 }
 
 export async function getConfig(env: NodeJS.ProcessEnv): Promise<AllConfig> {
-  let configFile = env.RENOVATE_CONFIG_FILE ?? 'config.js';
-  if (!upath.isAbsolute(configFile)) {
-    configFile = `${process.cwd()}/${configFile}`;
-  }
+  const configFile = env.RENOVATE_CONFIG_FILE ?? 'config.js';
 
   if (env.RENOVATE_CONFIG_FILE && !(await fs.pathExists(configFile))) {
     logger.fatal(