diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts
index 873b80c845a259851c00d80fef153d67ef547b39..55860e340eab07525034fe54fb57c0c80d383f3d 100644
--- a/lib/workers/repository/process/lookup/filter.ts
+++ b/lib/workers/repository/process/lookup/filter.ts
@@ -32,7 +32,14 @@ export function filterVersions(
     respectLatest,
     allowedVersions,
   } = config;
-  const versioning = allVersioning.get(config.versioning);
+  let versioning;
+  function isVersionStable(version: string): boolean {
+    if (!versioning.isStable(version)) {
+      return false;
+    }
+    return true;
+  }
+  versioning = allVersioning.get(config.versioning);
   if (!fromVersion) {
     return [];
   }
@@ -125,11 +132,11 @@ export function filterVersions(
   }
 
   // if current is unstable then allow unstable in the current major only
-  if (!versioning.isStable(fromVersion)) {
+  if (!isVersionStable(fromVersion)) {
     // Allow unstable only in current major
     return filteredVersions.filter(
       (v) =>
-        versioning.isStable(v.version) ||
+        isVersionStable(v.version) ||
         (versioning.getMajor(v.version) === versioning.getMajor(fromVersion) &&
           versioning.getMinor(v.version) === versioning.getMinor(fromVersion) &&
           versioning.getPatch(v.version) === versioning.getPatch(fromVersion))
@@ -137,9 +144,7 @@ export function filterVersions(
   }
 
   // Normal case: remove all unstable
-  filteredVersions = filteredVersions.filter((v) =>
-    versioning.isStable(v.version)
-  );
+  filteredVersions = filteredVersions.filter((v) => isVersionStable(v.version));
 
   // Filter the latest