diff --git a/lib/manager/sbt/extract.ts b/lib/manager/sbt/extract.ts
index 16b20647bae59ec56b2397fa9cde5b7b30d935aa..10b2e0ba66777c83875bb3245d28bd7842d0be06 100644
--- a/lib/manager/sbt/extract.ts
+++ b/lib/manager/sbt/extract.ts
@@ -20,6 +20,14 @@ const isScalaVersion = (str: string): boolean =>
 const getScalaVersion = (str: string): string =>
   str.replace(/^\s*scalaVersion\s*:=\s*"/, '').replace(/"\s*$/, '');
 
+/*
+  https://www.scala-sbt.org/release/docs/Cross-Build.html#Publishing+conventions
+ */
+const normalizeScalaVersion = (str: string): string =>
+  /^\d+\.\d+\.\d+$/.test(str)
+    ? str.replace(/^(\d+)\.(\d+)\.\d+$/, '$1.$2')
+    : str;
+
 const isScalaVersionVariable = (str: string): boolean =>
   /^\s*scalaVersion\s*:=\s*[_a-zA-Z][_a-zA-Z0-9]*\s*$/.test(str);
 
@@ -170,7 +178,7 @@ function parseSbtLine(
   if (!isComment(line)) {
     if (isScalaVersion(line)) {
       isMultiDeps = false;
-      scalaVersion = getScalaVersion(line);
+      scalaVersion = normalizeScalaVersion(getScalaVersion(line));
     } else if (isScalaVersionVariable(line)) {
       isMultiDeps = false;
       scalaVersionVariable = getScalaVersionVariable(line);
@@ -227,7 +235,7 @@ function parseSbtLine(
         scalaVersion ||
         (scalaVersionVariable &&
           variables[scalaVersionVariable] &&
-          variables[scalaVersionVariable].val),
+          normalizeScalaVersion(variables[scalaVersionVariable].val)),
     };
   if (deps.length) return { deps };
   return null;
diff --git a/test/manager/sbt/__snapshots__/extract.spec.ts.snap b/test/manager/sbt/__snapshots__/extract.spec.ts.snap
index 96fb1dca216c16477a5a3dc520d4d5f311026a27..58f73549a3ffb06a0ebd415e6f7ead1f643e4cc0 100644
--- a/test/manager/sbt/__snapshots__/extract.spec.ts.snap
+++ b/test/manager/sbt/__snapshots__/extract.spec.ts.snap
@@ -144,7 +144,7 @@ Object {
       "currentValue": "0.0.1",
       "datasource": "sbt",
       "depName": "org.example:foo",
-      "fileReplacePosition": 192,
+      "fileReplacePosition": 195,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -158,7 +158,7 @@ Object {
       "currentValue": "0.0.2",
       "datasource": "sbt",
       "depName": "org.example:bar_2.12",
-      "fileReplacePosition": 248,
+      "fileReplacePosition": 251,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -172,7 +172,7 @@ Object {
       "currentValue": "0.0.3",
       "datasource": "sbt",
       "depName": "org.example:baz_2.12",
-      "fileReplacePosition": 312,
+      "fileReplacePosition": 315,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -186,7 +186,7 @@ Object {
       "currentValue": "0.0.4",
       "datasource": "sbt",
       "depName": "org.example:qux",
-      "fileReplacePosition": 347,
+      "fileReplacePosition": 350,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -200,7 +200,7 @@ Object {
       "currentValue": "0.0.5",
       "datasource": "sbt",
       "depName": "org.example:quux",
-      "fileReplacePosition": 406,
+      "fileReplacePosition": 409,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -215,7 +215,7 @@ Object {
       "datasource": "sbt",
       "depName": "org.example:quuz_2.12",
       "depType": "test",
-      "fileReplacePosition": 550,
+      "fileReplacePosition": 553,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -230,7 +230,7 @@ Object {
       "datasource": "sbt",
       "depName": "org.example:corge",
       "depType": "Provided",
-      "fileReplacePosition": 608,
+      "fileReplacePosition": 611,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -245,7 +245,7 @@ Object {
       "datasource": "sbt",
       "depName": "org.example:grault",
       "depType": "Test",
-      "fileReplacePosition": 48,
+      "fileReplacePosition": 51,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
@@ -260,7 +260,7 @@ Object {
       "datasource": "sbt",
       "depName": "org.example:waldo",
       "depType": "plugin",
-      "fileReplacePosition": 1010,
+      "fileReplacePosition": 1013,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://example.com/repos/1/",
diff --git a/test/manager/sbt/_fixtures/scala-version-variable.sbt b/test/manager/sbt/_fixtures/scala-version-variable.sbt
index 9cdeb6bb716a296565fc7c214fadca1001230167..fd0abe2efd43aa80c8477de065a4c36b5d9de8f9 100644
--- a/test/manager/sbt/_fixtures/scala-version-variable.sbt
+++ b/test/manager/sbt/_fixtures/scala-version-variable.sbt
@@ -1,4 +1,4 @@
-val ScalaVersion = "2.12"
+val ScalaVersion = "2.12.10"
 val versionExample = "0.0.8"
 
 scalaVersion := ScalaVersion