diff --git a/Makefile b/Makefile
index 5aa8144e0fd57e53b2be1ae4a69b26e7c41d0755..7c8533afa2fc6d0acbc0bd2621ea46992644f589 100644
--- a/Makefile
+++ b/Makefile
@@ -25,10 +25,10 @@ LD_FLAGS="-w -X $(REPO_PATH)/version.Version=$(VERSION)"
 
 build: bin/dex bin/example-app
 
-bin/dex: FORCE
+bin/dex: check-go-version
 	@go install -v -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/dex
 
-bin/example-app: FORCE
+bin/example-app: check-go-version
 	@go install -v -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/example-app
 
 .PHONY: release-binary
@@ -88,6 +88,10 @@ bin/protoc: scripts/get-protoc
 bin/protoc-gen-go:
 	@go install -v $(REPO_PATH)/vendor/github.com/golang/protobuf/protoc-gen-go
 
+.PHONY: check-go-version
+check-go-version:
+	@./scripts/check-go-version
+
 clean: clean-release
 	@rm -rf bin/
 
diff --git a/scripts/check-go-version b/scripts/check-go-version
new file mode 100755
index 0000000000000000000000000000000000000000..fe57a574220ac3e8b4b7f7cac3fff61fa32b15bb
--- /dev/null
+++ b/scripts/check-go-version
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+VERSION=$( go version )
+
+# For development versions of Go, these will be empty.
+MAJOR_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9]' || true )
+FULL_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9|\.]*' || true )
+
+# The list of unsupported major go versions.
+UNSUPPORTED=( "go1.0" "go1.1" "go1.2" "go1.3" "go1.4" "go1.5" "go1.6" )
+
+# Minor go verisons which have known security vulnerabilities. Refuse to build with these.
+#
+# There aren't any security issues that impact dex in 1.7 but minor versions should be
+# added here later if they do have issues. 
+KNOWN_INSECURE=( )
+
+for V in "${UNSUPPORTED[@]}"; do
+    if [ "$V" = "$MAJOR_GOVERSION" ]; then
+        >&2 echo "ERROR: dex requires Go version 1.7+. Please update your Go installation: https://golang.org/dl/" 
+        exit 2
+    fi
+done
+
+for V in "${KNOWN_INSECURE[@]}"; do
+    if [ "$V" = "$FULL_GOVERSION" ]; then
+        >&2 echo "Go version ${V} has known security vulnerabilities which impact dex. Please update your Go verison."
+        exit 2
+    fi
+done
+