diff --git a/util/util.go b/util/util.go
index d84b13f..c9c4b78 100644
--- a/util/util.go
+++ b/util/util.go
@@ -53,6 +53,11 @@
 // ?go-get=1 to the url.
 func getRootFromGoGet(pkg string) string {
 
+	p, found := checkRemotePackageCache(pkg)
+	if found {
+		return p
+	}
+
 	vcsURL := "https://" + pkg
 	u, err := url.Parse(vcsURL)
 	if err != nil {
@@ -66,20 +71,42 @@
 	checkURL := u.String()
 	resp, err := http.Get(checkURL)
 	if err != nil {
+		addToRemotePackageCache(pkg)
 		return pkg
 	}
 	defer resp.Body.Close()
 
 	nu, err := parseImportFromBody(u, resp.Body)
 	if err != nil {
+		addToRemotePackageCache(pkg)
 		return pkg
 	} else if nu == "" {
+		addToRemotePackageCache(pkg)
 		return pkg
 	}
 
+	addToRemotePackageCache(pkg)
 	return nu
 }
 
+// The caching is not concurrency safe but should be made to be that way.
+// This implementation is far too much of a hack... rewrite needed.
+var remotePackageCache = make(map[string]bool)
+
+func checkRemotePackageCache(pkg string) (string, bool) {
+	for k := range remotePackageCache {
+		if strings.HasPrefix(pkg, k) {
+			return k, true
+		}
+	}
+
+	return pkg, false
+}
+
+func addToRemotePackageCache(pkg string) {
+	remotePackageCache[pkg] = true
+}
+
 func parseImportFromBody(ur *url.URL, r io.ReadCloser) (u string, err error) {
 	d := xml.NewDecoder(r)
 	d.CharsetReader = charsetReader
