diff --git a/lib/manager/terraform/__fixtures__/1.tf b/lib/manager/terraform/__fixtures__/1.tf
index 5405976b79fcfdd7fa1bda968b537ce419635675..fa7accbc194410b4ce14ff82dbc5b6819f06d786 100644
--- a/lib/manager/terraform/__fixtures__/1.tf
+++ b/lib/manager/terraform/__fixtures__/1.tf
@@ -6,6 +6,10 @@ module "bar" {
   source = "github.com/hashicorp/example?ref=next"
 }
 
+module "repo-with-non-semver-ref" {
+  source = "github.com/githubuser/myrepo//terraform/modules/moduleone?ref=tfmodule_one-v0.0.9"
+}
+
 module "repo-with-dot" {
   source = "github.com/hashicorp/example.2.3?ref=v1.0.0"
 }
diff --git a/lib/manager/terraform/__snapshots__/extract.spec.ts.snap b/lib/manager/terraform/__snapshots__/extract.spec.ts.snap
index cb6a5a9029fc063b7d9267e3c11eb2727446fa27..5436bdb0b46db3c8a70c7a372e204f91119c570b 100644
--- a/lib/manager/terraform/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/terraform/__snapshots__/extract.spec.ts.snap
@@ -21,7 +21,6 @@ Object {
       "registryUrls": Array [
         "https://kubernetes-charts.storage.googleapis.com",
       ],
-      "skipReason": "unsupported-version",
     },
     Object {
       "datasource": "helm",
@@ -86,7 +85,14 @@ Object {
       "depNameShort": "hashicorp/example",
       "depType": "github",
       "lookupName": "hashicorp/example",
-      "skipReason": "unsupported-version",
+    },
+    Object {
+      "currentValue": "tfmodule_one-v0.0.9",
+      "datasource": "github-tags",
+      "depName": "github.com/githubuser/myrepo",
+      "depNameShort": "githubuser/myrepo",
+      "depType": "github",
+      "lookupName": "githubuser/myrepo",
     },
     Object {
       "currentValue": "v1.0.0",
@@ -217,7 +223,6 @@ Object {
       "depName": "helm",
       "depNameShort": "helm",
       "depType": "terraform",
-      "skipReason": "unsupported-version",
     },
     Object {
       "currentValue": "V1.9",
@@ -225,7 +230,6 @@ Object {
       "depName": "newrelic",
       "depNameShort": "newrelic",
       "depType": "terraform",
-      "skipReason": "unsupported-version",
     },
     Object {
       "currentValue": "v1.0.0",
@@ -250,7 +254,6 @@ Object {
       "depNameShort": "hashicorp/example",
       "depType": "gitTags",
       "lookupName": "https://bitbucket.com/hashicorp/example",
-      "skipReason": "unsupported-version",
     },
     Object {
       "currentValue": "v1.0.1",
diff --git a/lib/manager/terraform/extract.spec.ts b/lib/manager/terraform/extract.spec.ts
index d61b491fbecc68a78db3f434f1188f7951cc81d4..d63177e92f1c2c856b496c7ef9bde9f72933a56a 100644
--- a/lib/manager/terraform/extract.spec.ts
+++ b/lib/manager/terraform/extract.spec.ts
@@ -16,8 +16,8 @@ describe('lib/manager/terraform/extract', () => {
     it('extracts', () => {
       const res = extractPackageFile(tf1);
       expect(res).toMatchSnapshot();
-      expect(res.deps).toHaveLength(43);
-      expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(12);
+      expect(res.deps).toHaveLength(44);
+      expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(8);
     });
     it('returns null if only local deps', () => {
       expect(extractPackageFile(tf2)).toBeNull();
@@ -26,7 +26,7 @@ describe('lib/manager/terraform/extract', () => {
       const res = extractPackageFile(helm);
       expect(res).toMatchSnapshot();
       expect(res.deps).toHaveLength(6);
-      expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(3);
+      expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(2);
     });
   });
 });
diff --git a/lib/manager/terraform/modules.ts b/lib/manager/terraform/modules.ts
index 87b8cd07c7e9e2702d4af01ded84f813b9253e56..4faa6be6d1943538b304f834a2acfd1b324a5645 100644
--- a/lib/manager/terraform/modules.ts
+++ b/lib/manager/terraform/modules.ts
@@ -3,7 +3,6 @@ import * as datasourceGithubTags from '../../datasource/github-tags';
 import * as datasourceTerraformModule from '../../datasource/terraform-module';
 import { logger } from '../../logger';
 import { SkipReason } from '../../types';
-import { isVersion } from '../../versioning/hashicorp';
 import { PackageDependency } from '../common';
 import { extractTerraformProvider } from './providers';
 import { ExtractionResult, TerraformDependencyTypes } from './util';
@@ -37,9 +36,6 @@ export function analyseTerraformModule(dep: PackageDependency): void {
     dep.currentValue = githubRefMatch.groups.tag;
     dep.datasource = datasourceGithubTags.id;
     dep.lookupName = depNameShort;
-    if (!isVersion(dep.currentValue)) {
-      dep.skipReason = SkipReason.UnsupportedVersion;
-    }
   } else if (gitTagsRefMatch) {
     dep.depType = 'gitTags';
     if (gitTagsRefMatch.groups.path.includes('//')) {
@@ -55,9 +51,6 @@ export function analyseTerraformModule(dep: PackageDependency): void {
     }
     dep.currentValue = gitTagsRefMatch.groups.tag;
     dep.datasource = datasourceGitTags.id;
-    if (!isVersion(dep.currentValue)) {
-      dep.skipReason = SkipReason.UnsupportedVersion;
-    }
   } else if (dep.managerData.source) {
     const moduleParts = dep.managerData.source.split('//')[0].split('/');
     if (moduleParts[0] === '..') {
diff --git a/lib/manager/terraform/providers.ts b/lib/manager/terraform/providers.ts
index 98f6918c1863149391a471563e5949fe940435ef..ec10e50482960b96b3be118da6fb8e795d786c97 100644
--- a/lib/manager/terraform/providers.ts
+++ b/lib/manager/terraform/providers.ts
@@ -1,7 +1,6 @@
 import is from '@sindresorhus/is';
 import * as datasourceTerraformProvider from '../../datasource/terraform-provider';
 import { SkipReason } from '../../types';
-import { isValid } from '../../versioning/hashicorp';
 import { PackageDependency } from '../common';
 import {
   ExtractionResult,
@@ -48,9 +47,6 @@ export function analyzeTerraformProvider(dep: PackageDependency): void {
   dep.depName = dep.managerData.moduleName;
   dep.depNameShort = dep.managerData.moduleName;
   dep.datasource = datasourceTerraformProvider.id;
-  if (!isValid(dep.currentValue)) {
-    dep.skipReason = SkipReason.UnsupportedVersion;
-  }
 
   if (is.nonEmptyString(dep.managerData.source)) {
     const source = sourceExtractionRegex.exec(dep.managerData.source);
diff --git a/lib/manager/terraform/resources.ts b/lib/manager/terraform/resources.ts
index d5ac8ba51c22b92394b44ec1272f41937f9cf218..58fa2f8cdfa364caae0eb59484ed3b1e8f95f198 100644
--- a/lib/manager/terraform/resources.ts
+++ b/lib/manager/terraform/resources.ts
@@ -1,6 +1,5 @@
 import * as datasourceHelm from '../../datasource/helm';
 import { SkipReason } from '../../types';
-import { isValid } from '../../versioning/hashicorp';
 import { PackageDependency } from '../common';
 import { getDep } from '../dockerfile/extract';
 import {
@@ -100,8 +99,6 @@ export function analyseTerraformResource(
         dep.skipReason = SkipReason.InvalidName;
       } else if (checkIfStringIsPath(dep.managerData.chart)) {
         dep.skipReason = SkipReason.LocalChart;
-      } else if (!isValid(dep.currentValue)) {
-        dep.skipReason = SkipReason.UnsupportedVersion;
       }
       dep.depType = 'helm';
       dep.registryUrls = [dep.managerData.repository];