diff --git a/lib/workers/repository/process/lookup/current.ts b/lib/workers/repository/process/lookup/current.ts
index 54731b2c9250c632c3c8a0f1faeac4aab8a2b485..0b7113f703988ed6ebd3039c562c429d89c45894 100644
--- a/lib/workers/repository/process/lookup/current.ts
+++ b/lib/workers/repository/process/lookup/current.ts
@@ -11,9 +11,6 @@ export function getCurrentVersion(
   latestVersion: string,
   allVersions: string[]
 ): string | null {
-  if (lockedVersion && is.undefined(currentValue)) {
-    return allVersions.pop();
-  }
   // istanbul ignore if
   if (!is.string(currentValue)) {
     return null;
diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts
index 74730e8fff129021ea4f768a4e604c4aa4a29bd7..522840e1bec3c1bf3053a156ef193ee42c13b45d 100644
--- a/lib/workers/repository/process/lookup/filter.ts
+++ b/lib/workers/repository/process/lookup/filter.ts
@@ -29,6 +29,7 @@ export function filterVersions(
     }
     return true;
   }
+  // istanbul ignore if: shouldn't happen
   if (!currentVersion) {
     return [];
   }
diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts
index 7be15465e6992e938beacadb2e2c76a46e493356..f4e748e7e110f1a69c3793e00cfca37d6735e8d8 100644
--- a/lib/workers/repository/process/lookup/index.spec.ts
+++ b/lib/workers/repository/process/lookup/index.spec.ts
@@ -351,7 +351,7 @@ describe('workers/repository/process/lookup/index', () => {
       expect(res.updates).toMatchInlineSnapshot(`
         Array [
           Object {
-            "bucket": "major",
+            "bucket": "non-major",
             "isLockfileUpdate": true,
             "isRange": true,
             "newMajor": 1,
diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts
index a7a3d9eb0e22d489b1a864af2ee0eaab5b12e131..d1417de1903fd1538f15d232fd80d5a3ac978583 100644
--- a/lib/workers/repository/process/lookup/index.ts
+++ b/lib/workers/repository/process/lookup/index.ts
@@ -169,7 +169,11 @@ export async function lookupUpdates(
       const nonDeprecatedVersions = dependency.releases
         .filter((release) => !release.isDeprecated)
         .map((release) => release.version);
-      const currentVersion =
+      let currentVersion: string;
+      if (rangeStrategy === 'update-lockfile') {
+        currentVersion = lockedVersion;
+      }
+      currentVersion ??=
         getCurrentVersion(
           currentValue,
           lockedVersion,
@@ -209,22 +213,15 @@ export async function lookupUpdates(
           newMajor: versioning.getMajor(currentVersion),
         });
       }
-      let filterStart = currentVersion;
-      if (lockedVersion) {
-        // istanbul ignore if
-        if (!versioning.isVersion(lockedVersion)) {
-          res.skipReason = SkipReason.InvalidVersion;
-          return res;
-        }
-        if (rangeStrategy === 'update-lockfile') {
-          // Look for versions greater than the current locked version that still satisfy the package.json range
-          filterStart = lockedVersion;
-        }
+      // istanbul ignore if
+      if (!versioning.isVersion(currentVersion)) {
+        res.skipReason = SkipReason.InvalidVersion;
+        return res;
       }
       // Filter latest, unstable, etc
       let filteredReleases = filterVersions(
         config,
-        filterStart,
+        currentVersion,
         latestVersion,
         allVersions,
         versioning