diff --git a/lib/constants/error-messages.ts b/lib/constants/error-messages.ts
index 8aacceae24b882626e024772a0d4530b2207a4a7..2a31a888f1db885a8d1ca39cbac05f7a18500073 100644
--- a/lib/constants/error-messages.ts
+++ b/lib/constants/error-messages.ts
@@ -39,7 +39,6 @@ export const DATASOURCE_FAILURE = 'registry-failure';
 export const WORKER_FILE_UPDATE_FAILED = 'update-failure';
 
 // Bundler Error
-export const BUNDLER_COULD_NOT_RESOLVE = 'bundler-resolve';
 export const BUNDLER_INVALID_CREDENTIALS = 'bundler-credentials';
 export const BUNDLER_UNKNOWN_ERROR = 'bundler-unknown';
 
diff --git a/lib/manager/bundler/artifacts.ts b/lib/manager/bundler/artifacts.ts
index b3bc9023228eb3c84bafcb7f1da18b2e78f81f75..3b22bde4ab6c2b24df6cd873b6963043b64044f0 100644
--- a/lib/manager/bundler/artifacts.ts
+++ b/lib/manager/bundler/artifacts.ts
@@ -13,7 +13,6 @@ import {
 import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common';
 import { platform } from '../../platform';
 import {
-  BUNDLER_COULD_NOT_RESOLVE,
   BUNDLER_INVALID_CREDENTIALS,
   BUNDLER_UNKNOWN_ERROR,
 } from '../../constants/error-messages';
@@ -201,10 +200,16 @@ export async function updateArtifacts(
       }
       logger.info(
         { err },
-        'Gemfile.lock update failed due to incompatible packages - skipping branch'
+        'Gemfile.lock update failed due to incompatible packages'
       );
-      // Do not set global.repoCache because we don't want to stop trying other branches
-      throw new Error(BUNDLER_COULD_NOT_RESOLVE);
+      return [
+        {
+          artifactError: {
+            lockFile: lockFileName,
+            stderr: err.stdout + '\n' + err.stderr,
+          },
+        },
+      ];
     }
     logger.warn(
       { err },